Skip to content
  1. Dec 03, 2020
    • Romain Vimont's avatar
      qt: medialib: reorder MLBaseModel members · 28938c49
      Romain Vimont authored
      Avoid interleaving members with different visibilities.
      28938c49
    • Romain Vimont's avatar
      qt: medialib: merge base list models · 6120c2be
      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.
      6120c2be
    • Romain Vimont's avatar
      qt: medialib: do not depend on ListCache header · 0b254fd8
      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
      0b254fd8
    • Romain Vimont's avatar
      qt: medialib: move implementation to cpp · 6d154afb
      Romain Vimont authored
      Now that MLSlidingWindowModel is not template anymore, move its
      implementation to the cpp file.
      6d154afb
    • Romain Vimont's avatar
      qt: medialib: un-templatize MLSlidingWindowModel · 7d7cd2bb
      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.
      7d7cd2bb
    • Romain Vimont's avatar
      qt: medialib: define a super-type for list items · bf424c87
      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.
      bf424c87
    • Romain Vimont's avatar
      qt: medialib: define equality operator on MLItemId · 3093d9a9
      Romain Vimont authored
      For symmetry, define operator==() in addition to operator!=().
      3093d9a9
    • Romain Vimont's avatar
      qt: medialib: rename MLParentId to MLItemId · c9c64595
      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.
      c9c64595
    • Ilya Yanok's avatar
      ftp: fix handling of NLST response · bd1ded48
      Ilya Yanok authored and Thomas Guillem's avatar Thomas Guillem committed
      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: default avatarThomas Guillem <thomas@gllm.fr>
      bd1ded48
  2. Dec 02, 2020
Loading