Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

  1. 17 Jul, 2020 22 commits
  2. 16 Jul, 2020 14 commits
    • Dmitry Kazakov's avatar
      Fix gradients that depend on Fg/Bg colors · b6a93e9f
      Dmitry Kazakov authored
      When a gradient is used for a stroke, it is cloned via
      cloneAndBakeVariableColors(), which basically converts it into
      a normal gradient with statci colors.
      
      The current Fg/Bg colors are fetched via provided
      KoCanvasResourcesInterfaceSP pointer.
      
      The patch also implements a version of generatePreview() that
      takes requiredCanvasResources() into account, but it is not used yet.
      b6a93e9f
    • Dmitry Kazakov's avatar
      Implement canvas resource dependencies · 76d2febb
      Dmitry Kazakov authored
      KoActiveCanvasResourceDependency is a special class for representing
      a dependency between two canvas resources. When the target of the
      dependency changes, the source should get update notification.
      
      # Conflicts:
      #	libs/flake/KoCanvasResourceProvider.cpp
      #	libs/flake/KoCanvasResourceProvider.h
      76d2febb
    • Dmitry Kazakov's avatar
      Fix KisPaintOpPreset to connect to the active gradient properly · 0dc67da8
      Dmitry Kazakov authored
      The patch implements the follwoing things:
      
      1) A abstract KoCanvasResourcesInterface class that provides access
         to resources for the code that cannot depend on
         KoCanvasResourceProvider (e.g. gradients). Specific implementations
         may forward the requests either to KoCanvasResourceProvider or to
         a local storage.
      
      2) KisPaintOpConfigWidget and KisPaintOpOption now store two pointers,
         to KisResourcesInterface and to KoCanvasResourcesInterface.
      
      3) As a consequence, paintop options now don't access
         KisGlobalResourcesInterface. Instead, they use locally stored
         pointers to both types of resources.
      
      4) KisTextureProperties and KisBrushOptionProperties now accept
         a pointer to KoCanvasResourcesInterface. It is needed for
         initializing internal gradients properly.
      
      5) KoResource now has a special method requiredCanvasResources(). It
         lets the resource to declare if it depends on any canvas resource,
         like Fg/Bg colors or the current graident.
      
      6) When the paintop preset has no KoCanvasResourcesInterface associated,
         the brush switches into a fallback mode and paints with red color.
      
      # Conflicts:
      #	libs/flake/KoCanvasResourceProvider.cpp
      #	libs/flake/KoCanvasResourceProvider.h
      0dc67da8
    • Dmitry Kazakov's avatar
      Move canvas resource ids into a separate file · 8784a666
      Dmitry Kazakov authored
      Before the patch they were split between KoCanvasResourceProvider and
      KisCanvasResourceProvider. Now they are placed in a single file in
      'resources' library. It lets them be accessible by gradients.
      8784a666
    • Dmitry Kazakov's avatar
      Remove manual gradient update for Fg/Bg changes · 776a32f4
      Dmitry Kazakov authored
      The follwoing patches are going to reimplement that
      776a32f4
    • Dmitry Kazakov's avatar
      Fix misprint · cf7da0d5
      Dmitry Kazakov authored
      cf7da0d5
    • Peter Schatz's avatar
      RGBA brushtips as gradient maps · eeff9d63
      Peter Schatz authored
      This adds the option to use a RGBA brushtips as gradient
      maps. This allows not only multi-colored brushes, but much
      more flexibility with stamp brushes.
      
      The patch implements the follwoing:
      
      1) Fixes issues with loading PNG brushes that are grayscale
         but have an alpha channel and should be loaded as RGBA brushes.
         Originally, if it saw it was grayscale, it would get rid of
         the alpha channel, but that means they can't be used with the
         new lightness and gradient modes.  This checks if the image
         uses alpha anywhere in the image, and sets it as an RGBA image
         if it does.
      
      2) Fixes a bug in KoCachedGradient where changing the
         stored gradient added colors to the end of the colorlist
         instead of clearing the original colors and replacing them.
      
      3) Adds the ability to change the colorspace of the cached
         colors in KoCachedGradient.
      
      NOTE: all the commit of the original branch has been squashed
            because it was impossible to rebase the work. And without
            rebase we wouldn't be able to port the code to master.
      eeff9d63
    • Agata Cacko's avatar
      Fix uninitialized variable in SelectednessPolicyOptimized · 5e2318f7
      Agata Cacko authored
      Coverity complains about uninitialized variables in classes.
      This commit fixes this issue in SelectednessPolicyOptimized.
      
      CID 304978
      5e2318f7
    • Agata Cacko's avatar
      Fix uninitialized variable in various Private structs · fde47d20
      Agata Cacko authored
      Coverity complains about uninitialized variables even if
      they are initialized in the constructors of only class
      that contains those Private structs.
      This commit fixes this issue in several Private structs.
      
      Classes include:
      
      KisFilterManager::Private
      KisColorLabelSelectorWidget's Private
      KisColorLabelButton::Private
      
      CID 36199
      CID 304996
      CID 305045
      fde47d20
    • Agata Cacko's avatar
      Fix no destruction of Private class in KisResourceSearchBoxFilter · e8e8b39a
      Agata Cacko authored
      Before this commit, Private class in KisResourceSearchBoxFilter
      would leak resources because it wasn't being deleted at the end of the
      lifetime of KisResourceSearchBoxFilter (and nowhere, in fact).
      This commit encapculates the pointer into a QScopedPointer
      so the memory will be freed.
      
      CID 305023
      e8e8b39a
    • Agata Cacko's avatar
      Initialize uninitialized values to 0 in nu_bspline_2d · ca0cc37f
      Agata Cacko authored
      Before this commit, values of rVal and lVal would be uninitialized
      but lated read and used. This commit initializes them  to 0 to
      avoid undefined behaviour.
      
      CID 248799
      ca0cc37f
    • Agata Cacko's avatar
      Fix no virtual destrutor in KisResourcesInterfacePrivate · 836b7698
      Agata Cacko authored
      KisLocalStrokeResourcesPrivate class which inherits after
      KisResourcesInterfacePrivate has a compiler-generated destructor
      (because of QList<KoResourceSP>). This class is being upcasted
      to KisResourcesInterfacePrivate in th constructor of
      KisLocalStrokeResources class. And then it's being deleted
      at the end of the lifetime of this class becuase it's encapsulated
      in the QScopedPointer.
      
      Hence it's possible that it was KisLocalStrokeResourcesPrivate
      that has a destructor but the destructor wasn't called
      (because the destructor of the KisResourceInterfacePrivate class
      was called which is not virtual).
      
      This commit adds a custom virtual destructor.
      
      CID 304984
      836b7698
    • Agata Cacko's avatar
      Fix saving custom brush presets · 9e97cf24
      Agata Cacko authored
      Before this commit, brush presets were saved without the extension.
      In the old code, before the resource rewrite, the extension was added
      to the name submitted by the user and only later saved,
      and this commit ensures it is being added in the resource rewrite
      version of this code, too.
      9e97cf24
    • Boudewijn Rempt's avatar
      Update naming instructions · e2d29a34
      Boudewijn Rempt authored
      e2d29a34
  3. 15 Jul, 2020 4 commits