1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-24 20:48:52 +02:00
Commit Graph

69 Commits

Author SHA1 Message Date
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
Romain Vimont
fe782ffc85 qt: medialib: remove QObject from MLVideo
MLVideo instances are created from a QThreadPool thread. As a
consequence, as a QObject, each one live (by default) in this separate
thread.

The behavior of dynamic properties or signals/slots would be confusing,
so do not inherit QObject.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2021-01-04 11:50:55 +01:00
Romain Vimont
7fa1de99cb qt: medialib: rename MLParentId to MLItemId
The item id sometimes represents the id of the "current" item, sometimes
the id of the "parent" item. Therefore, the fact that it is a "parent"
id depends on the context, and is not intrinsic to the type.

This caused confusion when getId() returned a MLParentId, representing
the id of the current item.

Rename to MLItemId to clarify.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2020-12-08 15:14:23 +01:00
Fatih Uzunoglu
dd19af4751 qt: register QmlMainContext* as a meta-type
in some cases qml fails to access QmlMainContext* property when it is not registered as a meta-type.

Signed-off-by: Pierre Lamot <pierre@videolabs.io>
2020-12-07 10:27:23 +01:00
Pierre Lamot
0fa20e4991 qt: add RecentModel based on medialibrary model 2020-10-28 18:13:37 +01:00
Pierre Lamot
8d81679b10 qt: move the MediaLib instance to the MainInterface 2020-10-28 18:13:37 +01:00
Pierre Lamot
dcf865237f qt: remove legacy "recently played" model
Recent medias are now stored in the medialibrary.
2020-10-28 18:13:37 +01:00