Commit Graph

75 Commits

Author SHA1 Message Date
Benjamin Arnaud c536126d16 qt: Rename MLGroupListModel to MLVideoGroupsModel 2022-02-20 14:18:57 +00:00
Prince Gupta c5075f222b qt/MainCtx: add screen property 2022-02-06 14:21:17 +00:00
Fatih Uzunoglu d36ddb09f0 qt: register qml compatibility module 2022-02-03 21:19:29 +00:00
Fatih Uzunoglu 5125e9a426 qt: protect registered qml modules 2022-02-03 21:19:29 +00:00
Pierre Lamot c2f0719ec8 qt: restore type registration of MLItemId and DialogId with qRegisterMetaType
Types are used in connections, they must be registered with both Q_DECLARE_METATYPE
and qRegisterMetaType as stated in the documentation.

> To use the type T in QVariant, using Q_DECLARE_METATYPE() is sufficient.
> To use the type T in queued signal and slot connections,
> qRegisterMetaType<T>() must be called before the first connection
> is established.
2022-01-27 13:45:15 +00:00
Pierre Lamot 44414977b8 qt: fix qml singleton access with 5.12
fix: #26462
2022-01-20 13:33:57 +00:00
Fatih Uzunoglu 4bba2cee5d qt, qml: fix incorrect downcasting 2022-01-13 08:18:20 +00:00
Benjamin Arnaud 8e46137725 qt/qml_menu_wrapper: Create SortMenuVideo 2022-01-10 13:21:47 +00:00
Fatih Uzunoglu c4edf97340 qml: prefer explicit types to 'var' 2022-01-06 08:59:05 +00:00
Fatih Uzunoglu 8813b04802 qt: register type FlickableScrollHandler 2021-12-24 17:20:25 +00:00
Fatih Uzunoglu 3c486ed9a5 qt: use SingletonRegisterHelper for QmlKeyHelper registration 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 88f9ab3fbf qt, qml: register MediaLibrary as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 0387dfb523 qt, qml: register DialogModel as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu de1877530e qt, qml: register SystemPalette as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 8edd32e1e6 qt, qml: register DialogsProvider as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 4f0ec5c39e qt, qml: register InterfaceWindow as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 7f2dd9ff09 qt, qml: register I18n as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 517380fead qt, qml: register PlayerController as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 845085852a qt, qml: register NavigationHistory as singleton 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu ff2ece31c6 qt: use SingletonRegisterHelper to register MainCtx 2021-12-16 21:46:28 +00:00
Fatih Uzunoglu 0aecc370df qt: add SingletonRegisterHelper to mainui.cpp 2021-12-16 21:46:28 +00:00
Pierre Lamot dbe3eb027c qml: use MainCtx singleton 2021-12-03 12:35:46 +00:00
Pierre Lamot a7a40fa04e qml: regiter MainCtx as a singleton in QML 2021-12-03 12:35:46 +00:00
Pierre Lamot cea5406265 qt: rename MainInterface to MainCtx
MainInterface was the actual QWidget interface in VLC 3.0, now it's the
application context

only rename classes and files, no functional changes
2021-12-03 12:35:46 +00:00
Pierre Lamot 13a0327a7c qt: remove unsued QmlMainContext 2021-12-03 12:35:46 +00:00
Fatih Uzunoglu d9062980fc qt: qml: rename QmlEventFilter to ItemKeyEventFilter 2021-11-28 14:14:33 +00:00
Fatih Uzunoglu 6e67493afa qt: register type MouseEventFilter 2021-11-21 18:19:22 +00:00
Fatih Uzunoglu 114adf145f qt: use constant variables for common parameters 2021-10-04 08:22:20 +00:00
Prince Gupta d2c7abb66a qt: update ColorSchemeModel implementation
* Identify Color Scheme via enum
* Move available color scheme defination to cpp side

This is done to introduce "auto" color scheme
2021-07-23 09:09:32 +00:00
Prince Gupta f12f7fa1c1 qt: implement SortMenu 2021-07-13 08:19:00 +00:00
Fatih Uzunoglu 676666ab37 qt: remove unneeded meta type registration
qmlRegisterUncreatableType already registers the type
to the meta object system.
2021-07-11 20:20:44 +00:00
Fatih Uzunoglu 0df3d23f5d qt: register ControlbarProfileModel as qml type 2021-07-11 20:20:44 +00:00
Pierre Lamot 33b1fb29eb qml: use C++ version of KeyHelper 2021-07-11 14:15:56 +00:00
Prince Gupta eac090ad65 qt: implement StringListMenu 2021-07-03 12:08:21 +00:00
Pierre Lamot 665d32ae42 qml: implement navigation as attached properties
this remove the need for component to inherit from NavigableFocusScope
2021-06-30 20:03:21 +00:00
Pierre Lamot 537d41a468 qt: load Qt in a detached structure from the interface module.
this will allow to unload the interface module without unloading Qt in a
  further patch.

  the new structure is still a vlc object as we use it notably for logging
  capacity and to interact with vlc variables
2021-06-04 17:00:25 +02:00
Pierre Lamot 4044fe3bdf qt: alias intf_thread_t as qt_intf_t
This is a preparatory commit
2021-06-04 17:00:25 +02:00
Benjamin Arnaud b23998a5cd qt/mlplaylist: Add CoverGenerator support and proper duration 2021-05-20 11:15:31 +00:00
Benjamin Arnaud 73072c14d8 qt/mlgenre: Add CoverGenerator implementation 2021-05-08 10:59:52 +00:00
Prince Gupta dcdaff4091 qt, qml: provide RoundImage implementation from cpp
previously RoundImage was implemented in QML using Opacitymask which was
slow, new implementation done in cpp using QQuickPaintedItem is around ~5x faster
2021-04-29 12:15:36 +00:00
Benjamin Arnaud e99bca7260 qt/mainui: Add QML group support
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-04-20 14:34:38 +02:00
Fatih Uzunoglu 20725496ae qt: register qml singleton type PlayerListModel
qmlRegisterSingletonType provides a convenient way
for the QML-side to invoke static methods of classes
that are not created or can not be created.

PlayerListModel singleton is generated from the
static function of
PlayerControlbarModel::getPlaylistIdentifierListModel.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-04-06 11:54:15 +02:00
Fatih Uzunoglu 700bd07bb4 qt: qml: refactor player control handling
* PlayerControlbarModel class is repurposed
and renamed to "player_controlbar_model.cpp/hpp".
PlayerControlbarModel is now a supermodel that
instantiates and handles three ControlListModel
for its 'left', 'center', and 'right' properties.
ControlListModel is the stripped down version of
the old PlayerControlbarModel.

* ControlbarProfileModel is created during
MainInterface initialization. ControlbarProfileModel
creates and handles toolbar/controlbar profiles
that act as a wrapper of PlayerControlbarModel
instances. Saving and loading from settings
happens in ControlbarProfileModel.

* Default control layout is now defined in
ControlbarProfile class. ControlbarProfile
injects the default configuration
during construction.

* Default profiles are now defined in
ControlbarProfileModel class.
ControlbarProfileModel class automatically
matches defaults based on player identifiers.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-04-06 11:54:15 +02:00
Benjamin Arnaud 7695e065e8 qt/dialogmodel: Update error handling before the GUI display
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-03-29 14:35:12 +02:00
Benjamin Arnaud 178513621b qt: Create QmlInputItem
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-03-15 09:48:05 +01:00
Prince Gupta 86eab699f1 qt: improve interface of MLFoldersModel
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-03-01 11:22:45 +01:00
Benjamin Arnaud ad4e4271d7 qt/menus: Add playlist support
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-02-23 09:36:43 +01:00
Benjamin Arnaud 459c58b6ab qt: Expose medialibrary playlist models to QML
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-02-23 09:36:43 +01:00
Fatih Uzunoglu 28ca5a599c qt: register metatype 'QList<QQmlError>'
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-02-17 10:13:15 +01:00
Prince Gupta f6a37cc3fd qt: add ImageLuminanceExtractor util class
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-02-08 10:56:28 +01:00