1. 21 Sep, 2019 2 commits
  2. 13 Jan, 2019 1 commit
    • Thomas Baumgart's avatar
      Fix customized report loading and saving · 3939181e
      Thomas Baumgart authored
      The storage of the accountgroup information for customized reports was
      broken due to a mis-assignment between numeric and textual
      representation. This was introduced with
      https://phabricator.kde.org/D13581 which landed as commit
      b7c44b7f.
      
      With the current change, the account group information will be
      reconstructed during loading of the file depending on the report type
      and the above mentioned assignment problem will be fixed.
      
      Also, the report type was not written for any customized information
      report which caused a crash during usage after the next start of the
      application. Since the report type cannot be detected automatically from
      the available data in broken files, the type will be set to AccountInfo.
      
      A respective message is dumped to the console. Users may have to
      redesign their loan, schedule and schedule summary reports. The problem
      shows, if a user opens such a report and it now displays an account
      information report. Nevertheless, the original report filter settings
      are loaded correctly.
      
      All other report types are not affected by this problem.
      
      BUG: 403068
      FIXED-IN: 5.0.3
      3939181e
  3. 08 Sep, 2018 1 commit
    • Thomas Baumgart's avatar
      Fix information reports · f485c8f6
      Thomas Baumgart authored
      All information reports were completely broken. This change brings back
      their functionality.
      
      BUG: 398394
      FIXED-IN: 5.0.2
      f485c8f6
  4. 09 Jul, 2018 1 commit
    • Łukasz Wojniłowicz's avatar
      Move reports drawing to reports view plugin · ac6976ab
      Łukasz Wojniłowicz authored
      This patch completes encapsulation of reporting features in KMyMoney. If a report is needed then it should be returned as:
      1) QWidget
      It will then be possible to show report outside of KReportsView and handle it completely inside KReportsView. This approach will allow us embedding any report anywhere with configuration controls built in a report.
      
      2) QString
      Some reports aren't graphical charts, so they need textual representation. Disadvantage of this approach is that chart cannot be handled inside KReportsView.
      
      Differential Revision: https://phabricator.kde.org/D13687
      ac6976ab
  5. 25 Jun, 2018 2 commits
  6. 19 May, 2018 1 commit
    • Łukasz Wojniłowicz's avatar
      Refactor MyMoneyException class · 284a0331
      Łukasz Wojniłowicz authored
      MyMoneyException changes in following way:
      1) Untranslated exceptions, as normal user doesn't need to understand
      exceptions, only developers do,
      2) Tidied up catching phrase, so it's always catched by const reference,
      3) no d-pointer (there should be no cascade header inclusion) and
      reduced implementation to only what() method,
      4) we use code from standard library, which implements what() method, so
      we have less to compile,
      5) MyMoneyException constructor is inlined, but it should be short,
      because of the use of POD types only,
      6) two defines to throw an exception (explanation below).
      
      mymoneyexception.h contains header for std::runtime_error and two
      defines for customizing exception messages.
      First define, MYMONEYEXCEPTION constructs the message roughly in the
      following way:
      1) construct QString from __LINE__, which is int,
      2) construct QString from __FILE__, which is const char *,
      3) take exception message, only QStrings allowed,
      4) construct QString from the three strings above,
      5) construct const char * from QString, for which std::runtime_error has
      a constructor.
      
      As one can see, there is lot of effort to throw an exception, so there
      MYMONEYEXCEPTION_CSTRING has been introduced, to avoid all above
      mentioned memory allocations.
      
      Differential Revision: https://phabricator.kde.org/D12808
      284a0331
  7. 08 Feb, 2018 1 commit
    • Łukasz Wojniłowicz's avatar
      Optimize MyMoneyTransactionFilter for speed · 444a23b7
      Łukasz Wojniłowicz authored
      Opening home page on startup with big file (mine = 6 MB) takes lots of
      computational resources and with it time.
      This patch reduces need for that resources by 70 % in my test scenario
      in debug mode.
      This was possible after removing bottleneck that has been identified to
      be in MyMoneyTransactionFilter and the main cause was copying of
      MyMoneySplit objects.
      Instead of filling matchingSplits list in MyMoneyTransactionFilter right
      from the start and then removing unneeded ones, no split is added or it
      is added if it qualifies.
      
      Changes:
      1) "container.isEmpty()" instead of "container.count > 0", as it's
      faster,
      2) QVector instead QList for MyMoneySplit, as it's faster,
      3) constify containers before for-range-loop, as it avoids costly
      detaches,
      4) reduce unneeded ifs-trees,
      5) replace QMutableListIterator with faster for-range-loop,
      6) use QStringLiteral instead of const char* for split actions, to avoid
      costly memory allocations,
      7) use QHash::contains instead of QHash::find for readability,
      8) remove m_matchingSplits variable in favor of local ones, as it was
      short lived anyway,
      9) new hackish m_matchOnly variable, to not fill matchingSplits list if
      we don't need it.
      
      Differential Revision: https://phabricator.kde.org/D9856
      444a23b7
  8. 08 Dec, 2017 1 commit
  9. 26 Nov, 2017 2 commits
  10. 25 Nov, 2017 2 commits
  11. 23 Nov, 2017 1 commit
  12. 02 Nov, 2017 1 commit
  13. 28 Oct, 2017 1 commit
    • Łukasz Wojniłowicz's avatar
      Make MyMoneyFile header less dependent · 45bced39
      Łukasz Wojniłowicz authored
      The goal of this patch is to reduce dependability on mymoneyfile and of
      mymoneyfile on other libraries.
      Changes:
      1) no header file includes mymoneyfile now,
      2) mymoneyfile.h uses forward-declarations instead of includes.
      
      Patch is huge but it's nothing but code shuffling. Nonetheless it has
      two important merits i.e. smaller executable file and shorter
      compilation times.
      
      Differential Revision: https://phabricator.kde.org/D8535
      45bced39
  14. 22 Oct, 2017 1 commit
  15. 20 Jun, 2017 1 commit
    • Łukasz Wojniłowicz's avatar
      Use Int instead of QString in TableRow · a2f466da
      Łukasz Wojniłowicz authored
      The main purpose of this patch is to reduce memory and cpu usage while
      rendering list table.
      It has been done through:
      1) use of QLatin1String where applicable,
      2) moving i18nHeaders to function, because not all headers are needed
      every time table is rendered,
      3) moving column type detection to function, because of the same reason
      as above,
      4) using Int instead of QString as key in TableRow, because it's less
      error prone, faster, and smaller,
      5) applying multiarg instead of arg chaining, as it doesn't create
      temporary strings.
      
      Differential Revision: https://phabricator.kde.org/D6166
      
      Signed-off-by: Łukasz Wojniłowicz's avatarŁukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
      a2f466da
  16. 07 Jun, 2017 1 commit
    • Ralf Habacker's avatar
      Add support to use a dedicated opening balance account. · e01a94f2
      Ralf Habacker authored
      With recent implementation kmymoney is not able to use a
      dedicated account for opening balances. Instead it (creates)
      and uses an opening balance account with the translated name
      of "Opening Balances" which may be language specific.
      
      To specify an opening balance account to be used on adding new
      accounts one way of operation is to set the "opening balance
      account" flag in the account editor for equity accounts.
      
      This is enabled if no other account contains this flag. Also
      changing the state of the flag is only possible if no transactions
      are assigned to the account having this flag.
      
      Another way to use this support is to flag an opening balance
      account in a kmymoney account template file.
      
      On creating a new kmymoney file the "opening balance account"
      flag is imported from a template account flag if specified
      in the following form:
      
      <account type="16" name="9000 Saldovortragskonten">
         <flag name="OpeningBalanceAccount"/>
      </account>
      
      The template admin needs to make sure that only one template account
      has this flag set.
      
      Exporting the current kmymoney file to an account template exports
      this flag too.
      
      If there is at least one dedicate opening balance account in a kmymoney
      file the name will be used as template for adding additional currency
      related opening balance accounts in the same hierachy level as the
      referenced opening balance account. On the search all accounts having
      a currency postfix '(XXX)' are ignored.
      
      BUG:370290
      REVIEW:130143
      e01a94f2
  17. 16 Jun, 2016 1 commit
  18. 28 Jun, 2015 1 commit
  19. 07 Nov, 2014 1 commit
    • Cristian Oneț's avatar
      Take advantage of the implicit sharing available in AlkValue. · b5a6b61d
      Cristian Oneț authored
      Since the values 1 and -1 seem to be used pretty often (in loops)
      it's worth to have static values for these constants to benefit from
      implicit sharing in the places where these values are necessary.
      
      The sharing of value 0 is already provided by AlkValue so we don't
      need a static value for 0.
      
      REVIEW: 120818
      b5a6b61d
  20. 24 Oct, 2014 1 commit
  21. 13 Aug, 2014 1 commit
  22. 29 Jun, 2014 1 commit
    • Cristian Oneț's avatar
      Preparing for frameworks. · d9d586b4
      Cristian Oneț authored
      Raise the cmake minimum required version to 2.8.6 (released in
      10/2011). Did this so we could use the cmake automoc feature. Since
      this feature is used we could remove all included moc files. See
      this link [1] for a nice description of the feature.
      
      Not all included moc files could be removed since we have some really
      big dependency issues between our static libraries and using automoc
      could mess up the functionality of the --as-needed linker flag.
      
      Removed the vi markers since they we not present in all files anyway.
      
      [1] https://blogs.kde.org/2011/11/01/cool-new-stuff-cmake-286-automoc
      d9d586b4
  23. 22 Feb, 2014 1 commit
  24. 14 Sep, 2011 1 commit
  25. 17 Aug, 2011 1 commit
    • Cristian Oneț's avatar
      BUG: 280071 · d37d7bc5
      Cristian Oneț authored
      A payee could be referenced by a loan account. When a payee is deleted consider this reference also and update it according to the user's reassignment choice.
      
      Fixed the payee deletion code and added a step in the consistency check to fix files that where affected by this issue. 
      
      svn path=/trunk/extragear/office/kmymoney/; revision=1247865
      d37d7bc5
  26. 06 Aug, 2010 1 commit
  27. 04 Jun, 2010 2 commits
  28. 26 May, 2010 1 commit
  29. 11 Apr, 2010 1 commit
  30. 23 Jan, 2010 2 commits
  31. 16 Nov, 2009 1 commit
  32. 09 Nov, 2009 1 commit
  33. 10 Oct, 2009 1 commit
  34. 09 Sep, 2009 1 commit