- Dec 03, 2020
-
-
Romain Vimont authored
Avoid interleaving members with different visibilities.
-
Romain Vimont authored
Since Qt signals/slots are incompatible with templates, the base list model was initially split into two parts: - MLBaseModel, non-template, with signals/slots - MLSlidingWindowModel, template, inheriting MLBaseModel Now that MLSlidingWindowModel is not template anymore, there is no reason to keep it separated. Simplify.
-
Romain Vimont authored
MLSlidingWindowModel has many subclasses. Since it depended on the ListCache<T> header, every change in this header caused huge incremental compilation times. Before this commit and the two previous ones, here is the time it took on my machine to recompile after touching listcache.hpp: $ time make -j8 ... real 0m45.001s user 4m55.672s sys 0m9.414s After these changes: $ time make -j8 real 0m10.676s user 0m11.840s sys 0m0.946s
-
Romain Vimont authored
Now that MLSlidingWindowModel is not template anymore, move its implementation to the cpp file.
-
Romain Vimont authored
MLSlidingWindowModel was generic over its item type, and with many non-template subclasses, each subclasses defining the actual concrete type. Therefore, this static genericity was "internal". In practice, it didn't bring a lot a value, but it caused every subclass to recompile the whole implementation. To improve compilation times, remove the template parameter and always use the item super-type MLItem. When an item of the concrete type is necessary (once per subclass), just cast locally. This change alone does not improve complitation times significantly, because the implementation is still in the header file, which also includes the whole ListCache implementation. The following commits will solve these problems.
-
Romain Vimont authored
Concrete medialib item types are defined by the template parameter on MLSlidingWindowModel. Create a super-type to be able to "untemplatize" MLSlidingWindowModel (in order to simplify and improve compilation times). As a side-effect, this also makes explicit the necessity to define a getId() method (called from MLSlidingWindowModel), a constraint which could not be explicitly expressed on a template parameter.
-
Romain Vimont authored
For symmetry, define operator==() in addition to operator!=().
-
Romain Vimont authored
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.
-
Commit e1508444 broke the NLST response handling: getting 1xx response is what we actually expect, not a reason to fail. This was reported as Android-specific bug: https://code.videolan.org/videolan/vlc-android/-/issues/644 two years ago and is still not fixed. This is invisible if FTP server supports MSLT feature. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
- Dec 02, 2020
-
-
David authored
No need to link InfoPlist.strings files here.
-
David authored
-
David authored
Also, move the template file, InfoPlist.strings, into Base.lproj to simplify the install rules.
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
InfoPlist.strings: 100% translated Signed-off-by: David Fuhrmann <dfuhrmann@videolan.org>
-
This avoids small freezes of the UI thread. Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Make the list cache use an async task for executing the count() call. Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Make the list cache use async tasks to load the data asynchronously (and notify data changes once available). Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
This helper will help implementing asynchronous database queries initiated on the UI thread by list models. Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-