[vlc-devel] [PATCH 00/29] qt/qml: player control handling refactor and toolbar editor changes
Fatih Uzunoglu
fuzun54 at outlook.com
Thu Apr 1 22:22:12 UTC 2021
This set of patches mainly brings two changes:
* Removal of the native toolbar editor dialog and
introduction of QtQuick Window based toolbar editor
dialog.
The hybrid (native dialog + qml context) toolbar
editor dialog has a lot of drawbacks and causes
many problems. The new qml based dialog is
integrated much better to the qml user
interface.
* Refactored player control handling.
Previously, each alignment of qml player instance
managed their own models. ControlbarProfileModel
class is introduced to unify the concepts of the
player control model (old PlayerControlbarModel)
and the profile model (did not exist before).
Now, qml player instances access their models
through the ControlbarProfileModel.
This approach made it possible to synchronize
the toolbar editor dialog with the qml player
instances. Previously, toolbar editor and player
instances had to track each other with various
signal/slot connections. The other advantage
is that everything is handled in the C++ backend
and string manipulations in the qml-side are
removed.
Fatih Uzunoglu (29):
qt: disable "Customize Interface..." menu entry
qt: remove toolbarDialog() from DialogsProvider
qt: remove native ToolbarEditor dialog
qt: remove toolBarConfUpdated signal
qt: qml: refactor player control handling
qt: make default controlbar profile names translatable
qt: add getTextDialog function to DialogsProvider
qml: fix ToolbarEditor TabBar background
qml: don't set style sheet on obsolete object
qml: increase minimum width of views in toolbar editor
qml: add WindowDialog
qml: set attached ToolTip defaults for IconToolButton
qml: adapt model changes in ToolbarEditor
qml: add ToolbarEditorDialog
qt: add showToolbarEditorDialog signal to DialogsProvider
qml: add ToolbarEditorDialog loader to Dialogs
qt: enable "Customize Interface..." menu entry
qml: use custom widgets instead of Text in toolbar editor
qml: fix scaling in toolbar editor
qt: qml: use enum for player controlbar identifier
qt: add function to access PlayerIdentifier enum from qml
qt: make player identifiers translatable
qt: register qml singleton type PlayerListModel
qml: dynamically populate the toolbar editor
qml: dynamically create inner views in toolbar editor
qml: show dirty mark in toolbar editor tab button
qml: make toolbar editor view's scroll bar always visible
qml: fix drag auto scroll in toolbar editor
qml: disable highlight auto scroll in toolbar editor
modules/gui/qt/Makefile.am | 16 +-
.../gui/qt/dialogs/dialogs/qml/Dialogs.qml | 23 +
.../qt/dialogs/dialogs/qml/WindowDialog.qml | 101 +++
modules/gui/qt/dialogs/dialogs_provider.cpp | 40 +-
modules/gui/qt/dialogs/dialogs_provider.hpp | 8 +-
.../qt/dialogs/toolbar/controlbar_profile.cpp | 225 ++++++
.../qt/dialogs/toolbar/controlbar_profile.hpp | 91 +++
.../toolbar/controlbar_profile_model.cpp | 677 ++++++++++++++++++
.../toolbar/controlbar_profile_model.hpp | 110 +++
.../dialogs/toolbar/qml/EditorDNDDelegate.qml | 3 +-
.../qt/dialogs/toolbar/qml/EditorDNDView.qml | 2 +
.../dialogs/toolbar/qml/EditorTabButton.qml | 17 +-
.../qt/dialogs/toolbar/qml/ToolbarEditor.qml | 549 +++++---------
.../toolbar/qml/ToolbarEditorButtonList.qml | 32 +-
.../toolbar/qml/ToolbarEditorDialog.qml | 171 +++++
.../gui/qt/dialogs/toolbar/toolbareditor.cpp | 208 ------
.../gui/qt/dialogs/toolbar/toolbareditor.hpp | 55 --
.../gui/qt/maininterface/main_interface.cpp | 7 +-
.../gui/qt/maininterface/main_interface.hpp | 7 +-
modules/gui/qt/maininterface/mainui.cpp | 13 +-
modules/gui/qt/menus/menus.cpp | 2 +-
modules/gui/qt/player/control_list_model.cpp | 155 ++++
...rolbarmodel.hpp => control_list_model.hpp} | 63 +-
.../gui/qt/player/player_controlbar_model.cpp | 137 ++++
.../gui/qt/player/player_controlbar_model.hpp | 96 +++
.../gui/qt/player/playercontrolbarmodel.cpp | 326 ---------
modules/gui/qt/player/qml/ControlBar.qml | 23 +-
modules/gui/qt/player/qml/ControlButtons.qml | 128 ++--
modules/gui/qt/player/qml/MiniPlayer.qml | 2 +-
modules/gui/qt/player/qml/Player.qml | 2 +
.../gui/qt/player/qml/PlayerButtonsLayout.qml | 86 ++-
modules/gui/qt/player/qml/TopBar.qml | 2 +-
modules/gui/qt/vlc.qrc | 2 +
modules/gui/qt/widgets/qml/IconToolButton.qml | 3 +
po/POTFILES.in | 8 +-
35 files changed, 2212 insertions(+), 1178 deletions(-)
create mode 100644 modules/gui/qt/dialogs/dialogs/qml/WindowDialog.qml
create mode 100644 modules/gui/qt/dialogs/toolbar/controlbar_profile.cpp
create mode 100644 modules/gui/qt/dialogs/toolbar/controlbar_profile.hpp
create mode 100644 modules/gui/qt/dialogs/toolbar/controlbar_profile_model.cpp
create mode 100644 modules/gui/qt/dialogs/toolbar/controlbar_profile_model.hpp
create mode 100644 modules/gui/qt/dialogs/toolbar/qml/ToolbarEditorDialog.qml
delete mode 100644 modules/gui/qt/dialogs/toolbar/toolbareditor.cpp
delete mode 100644 modules/gui/qt/dialogs/toolbar/toolbareditor.hpp
create mode 100644 modules/gui/qt/player/control_list_model.cpp
rename modules/gui/qt/player/{playercontrolbarmodel.hpp => control_list_model.hpp} (63%)
create mode 100644 modules/gui/qt/player/player_controlbar_model.cpp
create mode 100644 modules/gui/qt/player/player_controlbar_model.hpp
delete mode 100644 modules/gui/qt/player/playercontrolbarmodel.cpp
--
2.27.0
More information about the vlc-devel
mailing list