1. 29 Jul, 2019 1 commit
  2. 12 Jul, 2019 2 commits
    • Dmitry Kazakov's avatar
      Drop KisRelaxedTimer · ce83d7bc
      Dmitry Kazakov authored
      It is not used anymore
      
      CCBUG:409460
      ce83d7bc
    • Dmitry Kazakov's avatar
      Refactor signal compressor to have better timing properties · bbc0f807
      Dmitry Kazakov authored
      * before: emits signals with time range [1.0...2.0] * interval
      * after: emits signals with time range [0.5...1.5] * interval
      
      Bascially, now it handles it much better when interval is around
      10-20 ms. With the old version it caused KisCanvas2 to drop frames
      and look ugly when the user pans the canvas.
      
      CCBUG:409460
      bbc0f807
  3. 09 Jul, 2019 1 commit
  4. 08 Jul, 2019 1 commit
  5. 06 Jul, 2019 6 commits
  6. 04 Jul, 2019 1 commit
  7. 18 Jun, 2019 1 commit
    • Tusooa Zhu's avatar
      Add new signal/slot connection syntax to KisSignalAutoConnection · 3b75498f
      Tusooa Zhu authored
      1. Use template to accommodate the new syntax of signal/slot connection.
      
      2. Instead of the four parameters passed to QObject::connect(), we
      store the QMetaObject::Connection returned by connect(), and use that
      to disconnect() it afterwards.
      
      3. There is a unit test to test the auto-(dis)connection, just to
      make sure it works with both syntaxes.
      
      4. There is no need to change any existing code involving
      KisSignalAutoConnectionsStore, unless you want to replace the old
      syntax with the new one.
      3b75498f
  8. 03 Jun, 2019 1 commit
    • Dmitry Kazakov's avatar
      Fix cloning vector layers · 05a64029
      Dmitry Kazakov authored
      For all internal vector updates we should use safe signal
      compressor instead of the regular one. Otherwise "timers
      are accesses from non-gui thread" problem will chase us :)
      
      BUG:408028
      05a64029
  9. 20 May, 2019 1 commit
    • Tusooa Zhu's avatar
      Fix misleading comments in kis_shared_ptr.h · e2a6cdf0
      Tusooa Zhu authored
      The comments used to compare KisSharedPtr to QSharedDataPointer, which
      are actually two different things. KisSharedPtr is similar in functionality
      to QSharedPointer, not QSharedDataPointer.
      e2a6cdf0
  10. 04 Apr, 2019 1 commit
  11. 26 Mar, 2019 1 commit
    • Agata Cacko's avatar
      Fix Sequential Iterator assert on invalid rectangles · d7542a79
      Agata Cacko authored
      Summary:
      Before Quick Brush engine (roundmarker) was crashing
      because Sequential Iterator throwed out asserts
      when the rectangle was not "empty" according to Qt
      but  still not valid (for example has intmin value on
      width or height). This commit fixes that behaviour by
      providing additional checks.
      Commit includes also benchmarks for roundmarker.
      
      BUG:404179
      
      Test Plan:
      - benchmarks included in the commit
      - painting with Quick Brush (i.e. b) Basic-1)
      with size <1 px
      
      Reviewers: dkazakov, #krita
      
      Reviewed By: dkazakov, #krita
      
      Subscribers: rempt
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D19881
      d7542a79
  12. 12 Mar, 2019 1 commit
  13. 27 Feb, 2019 1 commit
  14. 06 Feb, 2019 1 commit
  15. 05 Feb, 2019 1 commit
    • Boudewijn Rempt's avatar
      Add usage logging to the buginfo dialog · caebac3e
      Boudewijn Rempt authored
      We can now log important events to a krita.log file. It is completely
      independent of qDebug, and only meant for those actions that we know
      users often get wrong or have problems with. Right now, it logs
      creating, loading, exporting and saving a file, and switching between
      the smoothing options.
      
      The krita.log file is NOT automatically uploaded or shared or anything
      like that. The header that explains this is translated so users can
      see that for themselves.
      
      We rotate 10 sessions in the log file, so even if the user starts Krita
      a few times after having a problem, we should still be able to review
      the problematical session.
      
      The logging api is pretty simple: a static KisUsageLogger::log method
      that writes a timestamp, and a KisUsageLogger::write method that writes
      an informational line without a timestamp.
      
      Note that the logger is created and torn down in the main function:
      this means that the location is GenericDataLocation, not AppDataLocation.
      
      CCMAIL:kimageshop@kde.org
      caebac3e
  16. 17 Dec, 2018 1 commit
  17. 25 Oct, 2018 1 commit
  18. 10 Oct, 2018 1 commit
  19. 05 Oct, 2018 1 commit
  20. 03 Oct, 2018 1 commit
  21. 27 Sep, 2018 1 commit
  22. 24 Sep, 2018 1 commit
  23. 20 Sep, 2018 1 commit
    • Dmitry Kazakov's avatar
      Fix delays in the end of Instant Preview rendering stroke · b5c33311
      Dmitry Kazakov authored
      Needs your testing!
      
      Test Plan:
      
      1) Paint with complex brushes on Float32 images
      2) Try painting many repetitive strokes, there should be no
         flockering and no delays.
      3) Try cancel your srokes before they are finished with Esc key.
         Please note that the most dangerous moment is when Krita writes
         "Updating..." right before background stroke calculation is
         finished. Try pressing exactly at this moment! :)
      
      Technical Details:
      
      There was a short delay in the end of every Instant Preview
      regeneration stroke. It was mostly seen on bigger canvases and
      Float32-bitdepth mode.
      
      The cause of this delay was the "update resume" stroke that
      tried to upload the 100%-zoom image data to the canvas. Sometimes
      such uploading could take up to 1.5 seconds, which could interfere
      into the painter's workflow.
      
      This patch does multiple things to mitigate this problem:
      
      1) KisSuspendProjectionUpdatesStrokeStrategy is now suspendable
         (again). It means that Krita will suspend the uploading process
         if the user desides to paint further instead of waiting for the
         background rendering to complete. This is the main part of this
         patch.
      
      2) On resuming Krita will not upload the entire image to the canvas,
         but only a changed part. This is achieved by collecting dirty
         requests in KisImage::enableUIUpdates(). This method itself doesn't
         solve the initial problem, but it makes uploading a bit more efficient.
      
      3) While the resume stroke is suspended, KisOpenGLCanvas2 blocks all the
         synchronizations of tiles' mipmaps. It means that normal lodN strokes
         will run with the mipmaps blocked. It is a bit dangerous approach, but
         it works until KisSuspendProjectionUpdatesStrokeStrategy is the only
         user of sigRequestLodPlanesSyncBlocked() signal.
      
      CC:kimageshop@kde.org
      BUG:361448
      Fixes T2145
      b5c33311
  24. 08 Aug, 2018 2 commits
  25. 05 Aug, 2018 2 commits
  26. 23 Jul, 2018 1 commit
  27. 10 Jul, 2018 3 commits
  28. 26 Jun, 2018 1 commit
    • Dmitry Kazakov's avatar
      Save global color to KRA file · a4708fcd
      Dmitry Kazakov authored
      Summary:
      This is a patch on top of my custom colors patch.
      
      The shared/global assistant color for painting assistants is stored outside of the assistant data model. Because of this I had to add a new property to save to in the KRA saver and loader.
      
      I also had to fix up a few initialization areas in the UI so the loaded values didn't get wiped out.
      
      I also removed a couple "legacy" comments in the KRA saver that got me confused. boud confirmed that those notes were in the calligra days
      
      Test Plan:
      Have multiple assistants. A couple with a shared color and one with a custom color.
      
      Saved and loaded the file and made sure it kept the same value.
      
      Reviewers: #krita, dkazakov
      
      Subscribers: dkazakov
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D13437
      a4708fcd
  29. 25 Jun, 2018 1 commit
    • Dmitry Kazakov's avatar
      Save global color to KRA file · 67823cd5
      Dmitry Kazakov authored
      Summary:
      This is a patch on top of my custom colors patch.
      
      The shared/global assistant color for painting assistants is stored outside of the assistant data model. Because of this I had to add a new property to save to in the KRA saver and loader.
      
      I also had to fix up a few initialization areas in the UI so the loaded values didn't get wiped out.
      
      I also removed a couple "legacy" comments in the KRA saver that got me confused. boud confirmed that those notes were in the calligra days
      
      Test Plan:
      Have multiple assistants. A couple with a shared color and one with a custom color.
      
      Saved and loaded the file and made sure it kept the same value.
      
      Reviewers: #krita, dkazakov
      
      Subscribers: dkazakov
      
      Tags: #krita
      
      Differential Revision: https://phabricator.kde.org/D13437
      67823cd5
  30. 11 Jun, 2018 1 commit