Projects/KMyMoney: Difference between revisions

    From KDE TechBase
    (Mark problem as fixed)
    (Mark problem as fixed)
    Line 17: Line 17:
    *<s>Entering a transaction and hitting an account limit will get the application in a loop which ends in a crash</s>
    *<s>Entering a transaction and hitting an account limit will get the application in a loop which ends in a crash</s>
    *<s>Reinvest dividend transaction form never enables the Enter button</s>
    *<s>Reinvest dividend transaction form never enables the Enter button</s>
    *Enter does not work for transaction enter, only Return does.(not as important as the other, but it's a nag in a main part of the application)
    *<s>Enter does not work for transaction enter, only Return does.(not as important as the other, but it's a nag in a main part of the application)</s>
    *<s>Port AqBanking plugin</s> ''Note: KBanking compiles against at Qt4 AqBanking. Still need to test if it really works (ipwizard)''
    *<s>Port AqBanking plugin</s> ''Note: KBanking compiles against at Qt4 AqBanking. Still need to test if it really works (ipwizard)''
    * There are a couple of occurrences of '''Uninitialized variables''' warnings during the build. We should fix those.
    * There are a couple of occurrences of '''Uninitialized variables''' warnings during the build. We should fix those.

    Revision as of 08:57, 5 December 2009

    This page is dedicated to discuss issues related to the port to KDE4.


    Guidelines

    As a first step, we are leaving Qt3Support, if possible. There are cases when it is best to port to the corresponding Qt4 classes. Examples of these are the QButtonGroups, KActions, KPageWidget, QTabBar

    For now, focus on make it work. Assess whether it will be faster using Qt3Support or a newer class.

    The repository to use is the one in KDE SVN. svn://anonsvn.kde.org/home/kde/trunk/playground/office/kmymoney.


    Blocking issues

    These are the issues that need to be fixed first before releasing a beta version.

    • Entering a transaction and hitting an account limit will get the application in a loop which ends in a crash
    • Reinvest dividend transaction form never enables the Enter button
    • Enter does not work for transaction enter, only Return does.(not as important as the other, but it's a nag in a main part of the application)
    • Port AqBanking plugin Note: KBanking compiles against at Qt4 AqBanking. Still need to test if it really works (ipwizard)
    • There are a couple of occurrences of Uninitialized variables warnings during the build. We should fix those.
    • Several files are rebuilt if make is executed twice in a row.
    • After the payee completer depletes al possible completions when typing a payee's name the typed text is selected so if the user continues to type all characters entered so far are lost

    Areas known to work

    I thought that we can put here a list of features that are known to work (after a developer testing):


    Area Status Comments
    Tips and tricks Working
    Home Page Working
    Institutions Working
    Accounts Working
    Ledgers Working The cancel transaction dialog keeps coming up in random situations
    Schedules Working
    Categories Working
    Payees Working
    Investments Working
    Reports Working
    Charts Working
    Budgets Working
    Forecast Working
    Splash screen Working
    Settings Working
    Webconnect Working
    Plugins Working KBanking plugin needs to be tested
    Database Working Passes unit tests for MySQL, PostgreSQL and SQLite3. (fvilas)
    GPG Working Needs testing

    Areas to work on

    • Views
    • Dialogs
    • Widgets

    Also, here you have the KrazyEBN report, which reports common issues on the code. Krazy Report

    Please include the areas you are working on to avoid overlapping with other developers.

    conet

    The following are on my TODO list but that does not mean that I don't need any help on them:

    • Check all the KListView classes that save their layout and make sure that works (restoreLayout was called in polish() in the Institutions view and polish() is not called anymore)(done)
    • Check what's up with the transaction form in the ledger(done)
    • Work on the transaction form since I see it as the hardest thing to port and once it is done (with qt3 support) we can go one and work on the following bullet(done)
    • Try to fix various small stuff that don't work yet until a usable application is obtained(done)
    • Check for multiple instances. It was using DCOP, and it has to be migrated to a method suitable with DBus.
    • Port the KBanking plugin to KDE4 and add it the KMyMoney source tree
    • Although the code that takes care of the drawing of the highlighter of the drop target in kmymoneyaccounttreebase.cpp was ported the drop target is not highlighted

    asoliverez

    I will work on the account selector, probably migrate it to Qt4 widgets, because it does all kinds of weird stuff that can be probably optimized. (fixed by conet) Working on the i18n and documentation issues with KDE-i18n team. Also going through the Krazy report, and fixing issues there.

    ipwizard

    I will try to keep the strings together and work on coordination for the integration of/with other KDE applications. On the code front maybe setting up the Qt-Designer plugin for the KMyMoney widgets.

    • Getting the GPG encryption to work with either QCA or libkleo Replaced using libkleo
    • Replace kMyMoneyDateInput with KPIM::KDateEdit
    • Separate the base and constructed widgets into their own libs

    fvilas

    • Convert the dialog allocations on the stack to use QPointer, per EBN point #5.
    • Port the WebPriceQuote object.
    • Port the QIF reader and add test cases for it.
    • Q3Table -> QTableWidget for transaction and register (postponed due to size of task. If anyone wants this, I can send you my patch so far, if not, I'll get back to it at some point.)
    • Q3ButtonGroup -> QButtonGroup port
    • General cleanup of deprecation warnings to quiet the build a bit
    • Q3BoxLayout -> QBoxLayout

    Issues

    Please report here the issues you find.

    • Libkdchart has been commented out until last minute. Charts won't work until then
    • Check for multiple instances. It was using DCOP, and it has to be migrated to a method suitable with DBus. (conet)
    • There is a bug in KHTMLPart where you get weird results if you call write() many times. Save it to a QString and call write() once instead. Done (ipwizard)
    • Q3ButtonGroup objects should be migrated to QButtonGroup. The Q3Support class is severely handicapped and there are no issues in porting to the new class.
    • Standard icon names have changed. Check the name of the icon being called if you see a default icon is being displayed.
    • The code that creates the title bar (the one with the blue image) has been commented out since it somehow was not visible and the other widgets got behind in making it impossible to click them with the mouse.(the code has been ported it only needs a good color scheme)
    • The kmymoney.css has to be updated to use the KDE4 styles.

    Areas to leave as they are for the moment

    libkdchart is an extract from koffice. If we find a bug there, it is best to report it to the koffice maintainers

    The mymoney folder contains the engine. It is covered by the unit tests and they run ok. This is a critical area of the application, so check with Thomas or Alvaro before making a change.

    Of course, if you find a critical bug in any of these, let us know.

    Mailing list

    https://mail.kde.org/mailman/listinfo/kmymoney-devel. Use it to discuss issues related to the port to KDE4.

    Coordination

    Alvaro Soliverez is coordinating the KDE4 effort. You can reach me at asoliverez at gmail.com or on IRC under Hei_ku in the #kmymoney channel. Alternatively, you can contact Thomas Baumgart on the developers list.

    People involved

    • mlaurent
    • conet
    • neoclust
    • asoliverez
    • tbaumgart aka ipwizard
    • fvilas
    • tonyb

    (Contact the coordinator if you are willing to contribute)

    Timeline

    Have it ready for kdereview before the end of the year. Is it too optimistic?