1. 12 Aug, 2020 1 commit
    • David Redondo's avatar
      Categorize standard shortcuts · c0322379
      David Redondo authored
      We have a huge amount of standard shortcuts. By adding the ability to divide
      them into categories, they can be presented to the user in a way that enables
      them to easier find the shortcut that they want. Internally some shortcuts were
      already grouped but that seems to have stopped for the later additions. (The
      related standard actions from KConfigWidgets also seem to have this not exposed
      internal grouping.)
      See plasma-desktop!26
      c0322379
  2. 10 Aug, 2020 1 commit
  3. 08 Aug, 2020 1 commit
  4. 02 Aug, 2020 1 commit
    • Nate Graham's avatar
      Add functions to save and restore window positions on non-Wayland platforms · 14342579
      Nate Graham authored
      These functions allow an application to save and restore the positions
      of its windows. Positions are stored on a per-screen-arrangement basis.
      
      For example with a single screen connected, the config file would have
      entries like this in it:
      
      eDP-1 XPosition=140
      eDP-1 YPosition=340
      
      When a second screen is connected, the following gets saved:
      
      eDP-1 HDMI-1 XPosition=3878
      eDP-1 HDMI-1 YPosition=29
      
      This ensures that each separate screen arrangement can have its own
      saved window position, which is handy for the use case where you have a
      laptop that you plug into an external screen some of the time. It also
      allows the position to get restored to the correct screen when there are
      multiple screens.
      
      This is a necessary first step to getting KDE apps to save their window
      positions on X11 The next step would be calling the new functions from
      KXMLGui and Kirigami apps, and then porting all apps that manually invoke
      KWindowConfig::saveWindowSize() and KWindowConfig::restoreWindowSize()
      to also invoke KWindowConfig::saveWindowPosition() and
      KWindowConfig::restoreWindowPosition() in the same places.
      
      The functions only work on X11 or other non-Wayland platforms. On
      Wayland, the compositor has sole dominion over window positioning so a
      compositor-specific solution much be adopted instead, such as
      https://bugs.kde.org/show_bug.cgi?id=15329.
      
      CCBUG: 415150
      14342579
  5. 01 Aug, 2020 1 commit
  6. 25 Jul, 2020 1 commit
    • Ahmad Samir's avatar
      Update sGlobalFileName when QStandardPaths TestMode is toggled · 7c96cf22
      Ahmad Samir authored
      When running unit tests, usually QStandardPaths TestMode is enabled so as
      not to mess up the config files in the home dir of the dev running the unit
      tests; sGlobalFileName, a global static, was defined only once, which meant
      that if KSharedConfig::openConfig() is called before the unit test has had
      a chance to call QStandardPaths::setTestModeEnabled(true), then sGlobalFileName
      will go on referring to the wrong kdeglobals file (as can be seen in
      dfaure's debugging of the issue at [1]). Change the code so as to
      detect QStandardPaths TestMode status and change sGlobalFileName as needed.
      
      All unit tests still pass.
      
      [1] kio!77 (comment 74124)
      7c96cf22
  7. 24 Jul, 2020 1 commit
    • Friedrich W. H. Kossebau's avatar
      API dox: state explicitly expected encoding for KConfig key & group names · d1edad3c
      Friedrich W. H. Kossebau authored
      While the API might have been once designed to allow random byte strings
      to be used as ids and only converted QString to UTF-8, the current
      implementation in many places assumes the byte strings passed via
      const char* or QByteArray are also in of UTF-8 encoding
      (or at least ASCII7-only).
      See e.g. KConfigGroup::entryMap() or KConfigGroup::name().
      
      Stating the supported encoding explicitly should avoid any misassumptions.
      d1edad3c
  8. 14 Jul, 2020 2 commits
  9. 13 Jul, 2020 1 commit
  10. 12 Jul, 2020 1 commit
  11. 07 Jul, 2020 1 commit
  12. 04 Jul, 2020 1 commit
  13. 22 Jun, 2020 1 commit
  14. 19 Jun, 2020 1 commit
  15. 18 Jun, 2020 1 commit
  16. 17 Jun, 2020 1 commit
  17. 13 Jun, 2020 1 commit
  18. 06 Jun, 2020 1 commit
  19. 31 May, 2020 1 commit
  20. 24 May, 2020 1 commit
  21. 23 May, 2020 1 commit
  22. 22 May, 2020 1 commit
  23. 19 May, 2020 1 commit
  24. 09 May, 2020 1 commit
  25. 08 May, 2020 1 commit
  26. 03 May, 2020 2 commits
    • David Faure's avatar
      GIT_SILENT add comment · 311e3085
      David Faure authored
      311e3085
    • David Faure's avatar
      KAuthorized: export method to reload restrictions · 2789bb2c
      David Faure authored
      Summary:
      This is useful for unittests. Example:
      
      ```
      KCONFIGCORE_EXPORT void reloadUrlActionRestrictions();
      
      void someTestMethod()
      {
          KConfigGroup cg(KSharedConfig::openConfig(), "KDE URL Restrictions");
          cg.writeEntry("rule_count", 1);
          cg.writeEntry("rule_1", QStringList{"open", {}, {}, {}, "file", "", "", "false"});
          cg.sync();
          reloadUrlActionRestrictions();
      
          // Some test for code that uses KUrlAuthorized
      
          cg.deleteEntry("rule_1");
          cg.deleteEntry("rule_count");
          cg.sync();
          reloadUrlActionRestrictions();
      }
      ```
      This is consistent with the fact that other functions used by
      KUrlAuthorized are defined here and exported internally.
      
      Test Plan: Used this in a KIO unittest I'm writing for the future OpenUrlJob
      
      Reviewers: aacid, apol, mdawson
      
      Reviewed By: aacid
      
      Subscribers: kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D29347
      2789bb2c
  27. 02 May, 2020 1 commit
  28. 22 Apr, 2020 1 commit
  29. 21 Apr, 2020 1 commit
    • Ahmad Samir's avatar
      Fix some compiler warnings · fb29718d
      Ahmad Samir authored
      Summary:
      - Fix order of member initialisation (compiling with -Wreorder)
      - Use Q_UNUSED where needed
      - QAtomicInteger::loadRelaxed() has been available since Qt 5.14
      
      Test Plan: make && ctest
      
      Reviewers: #frameworks, dfaure, apol
      
      Reviewed By: dfaure
      
      Subscribers: kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D27158
      fb29718d
  30. 20 Apr, 2020 1 commit
    • Friedrich W. H. Kossebau's avatar
      API dox: document Q_DECLARE_FLAGS-based flags · aa28a243
      Friedrich W. H. Kossebau authored
      Summary:
      KApiDox & ECMAddQch have been just teached about Q_DECLARE_FLAGS, so the
      underlying typedefs are no longer skipped by doxygen, but can be
      documented now, allowing links to be generated for these types e.g. when
      used as arguments.
      
      The "#" prefix to the enum name in the description text of all the
      Q_DECLARE_FLAGS docs seems needed to properly trigger doxygen autolinks.
      
      GIT_SILENT
      aa28a243
  31. 17 Apr, 2020 1 commit
    • Benjamin Port's avatar
      Add force save behavior to KEntryMap · be28e096
      Benjamin Port authored
      Summary:
      Fix the following bug, if an entry is set on HOME/.config/kdeglobals and on a specific config file like kcmfonts
      When you hit restore defaults button and apply, value will be not wrote on the specific file, but then the value is the one from kdeglobals
      This patch ensure we write the key to the specific configuration file on those case with an empty value. KConfig will take default value automatically
      
      Test Plan:
      Added a test to ensure flag is working
      Tested using some KCM to ensure all is working fine
      
      Reviewers: ervin, dfaure, meven, crossi, hchain
      
      Reviewed By: ervin, dfaure, meven
      
      Subscribers: kde-frameworks-devel
      
      Tags: #frameworks
      
      Differential Revision: https://phabricator.kde.org/D28128
      be28e096
  32. 13 Apr, 2020 1 commit
  33. 11 Apr, 2020 1 commit
  34. 04 Apr, 2020 1 commit
  35. 30 Mar, 2020 1 commit
  36. 23 Mar, 2020 1 commit
  37. 22 Mar, 2020 1 commit
  38. 19 Mar, 2020 1 commit