Where to find this code

jvapr27 at gmail.com jvapr27 at gmail.com
Sat Dec 28 22:48:03 GMT 2019


Thanks Thomas. 
I am trying to read between the lines. So if I miss something, please
let me know. 
Here is what I did: 
	git clone --single-branch --branch master
git://anongit.kde.org/kmymoney.git kmy/master	git clone --single-
branch --branch 5.0 git://anongit.kde.org/kmymoney.git kmy/stable
Is that what you meant by master and stable? Why do you all see 5.0 as
stable? Is that the base release that all current security and other
patches are going towards for the current release, and Master is the
new source for the next release? (so you apply the patches to both)
Regarding Step C... So then, we have to do a(n) (re)installation to
make sure all the plugins get pulled correctly.. otherwise, I won't see
the changes. This makes sense, although.. I am wondering, are the
Reports modules considered a plugin or part of the core of KMyMoney?
Also, do you happen to know if Kdevelop runs a re-install behind the
scenes when I hit the Debug button? 
thanks again. I know you have mentioned some of this in the past and
some of it is just now sinking in. I promise once I get going, I will
try to help you all instead of just slowing you guys down. I just
finally have some down time from my regular work that I can focus on
this.  
JV

On Fri, 2019-12-27 at 10:53 +0100, Thomas Baumgart wrote:
> Jesus,
> the whole process of generation of the KMyMoney artifacts is divided
> into these parts:
> a) configurationb) compilation / linkagec) installation
> Step a) is where cmake comes into play. Its job is to convert the
> meta information provided in CMakeLists.txt files into lower level
> Makefiles (depending on the build tool/generator used). This step
> caches some information which will not be re-evaluated if you re-run
> cmake. To get a full scan remove build/CMakeCache.txt and re-run
> cmake. Removing CMakeCache.txt also wipes all the settings you have
> made using ccmake.
> Step b) is invoked by calling 'make' and compiles and links the
> artifacts comprising the application, that is the executables (yes,
> the testcases as well), shared libs and plugins. At the end they are
> all located in build/bin.
> Step c) moves all the necessary files (executable, shared libs,
> plugins, icons, templates, etc.) into the location of your KDE
> install. This is performed by running 'sudo make install/fast'.
> To remove an installed version, I simply use this the following
> sequence in the build sub-directory:
>   sudo -s  xargs rm < install_manifest.txt  exit
> Having two sandboxes (one with master and one with 5.0) and can
> easily switch between the two of them. E.g. from stable to master:
>   cd stable/build  sudo -s  xargs rm < install_manifest.txt  exit  cd
> ../../master/build  sudo make install/fast
> This will make sure that all the files are recent. Especially for
> plugins, step c) is very important. If you omit it, the debugger will
> use the newly compiled executable and shared objects from the
> build/bin directory, but not the plugins. It will use the old ones
> found installed. As Jack pointed out, not having the most recent
> plugin installed may be the cause to the problem you encounter.
> BTW: KMyMoney tells you on the command line where it picks up the
> plugins during startup, e.g.
> Located plugin "/usr/lib64/qt5/plugins/kmymoney/konlinetasks_sepa.so"
> Validity trueLocated plugin
> "/usr/lib64/qt5/plugins/kmymoney/csvimporter.so" Validity
> true..Loading "/usr/lib64/qt5/plugins/kmymoney/budgetview.so"Plugins:
> budgetview loadedLoading
> "/usr/lib64/qt5/plugins/kmymoney/checkprinting.so"Plugins:
> checkprinting loaded..
> Hope that helps.
> Thomas
> 
>  On Freitag, 27. Dezember 2019 01:42:38 CET Jack wrote:
> > Hi JV,
> > I begin to wonder if the problem is that you are trying to debug a
> > KMM plugin.  It is easy enough to debug a newly compiled kmymoney
> > file, but KDE/QT has its own way of finding plugins.  As an
> > experiment, after you have run "make" find where the newly compiled
> > plugins are.  For this example assume you ran make in .../kmm/build
> > and the compiled plugins are in the lib dir below that.  Try
> > running 'QT_PLUGIN_PATH=.../kmm/build/lib" kdevelop'.
> > Note I'm doing this mostly from memory, so if it doesn't work,
> > someone will have to confirm whether some of my details are
> > wrong.  I just don't know if kdevelop accounts for that
> > On 12/26/19 11:46 AM, jvapr27 at gmail.com wrote:
> > > Thanks Jack!
> > > This is what I see in the ccmake:
> > >   CMAKE_BUILD_TYPE                 Debugfull 
> > > CMAKE_COLOR_MAKEFILE             ON 
> > > CMAKE_CXX_COMPILER               /usr/bin/c++ 
> > > CMAKE_CXX_COMPILER_AR            /usr/bin/gcc-ar 
> > > CMAKE_CXX_COMPILER_RANLIB        /usr/bin/gcc-ranlib 
> > > CMAKE_CXX_FLAGS  CMAKE_CXX_FLAGS_DEBUG            -g 
> > > CMAKE_CXX_FLAGS_DEBUGFULL  CMAKE_CXX_FLAGS_MINSIZEREL       -Os
> > > -DNDEBUG  CMAKE_CXX_FLAGS_RELEASE          -O2 -DNDEBUG 
> > > CMAKE_CXX_FLAGS_RELWITHDEBINFO   -O2 -g -DNDEBUG 
> > > CMAKE_DLLTOOL                    CMAKE_DLLTOOL-NOTFOUND 
> > > CMAKE_EXE_LINKER_FLAGS  CMAKE_EXE_LINKER_FLAGS_DEBUG 
> > > CMAKE_EXE_LINKER_FLAGS_DEBUGFU  CMAKE_EXE_LINKER_FLAGS_MINSIZE 
> > > CMAKE_EXE_LINKER_FLAGS_RELEASE  CMAKE_EXE_LINKER_FLAGS_RELWITH
> > > I tried the new cmake line to see if that stops any optimization,
> > > but truly, I don't know where to do that. With what Jack said, I
> > > see those options in ccmake, but should I change anything?
> > > DEBUGFULL has nothing as a value. What I don't see is a
> > > CMAKE_C_FLAGS, not sure if that is missing or just not needed on
> > > my system.
> > > 
> > > It does seem that now the debuger Step-Over function in kdevelop
> > > works better. So maybe it worked. I need to test it more.
> > > Still, I notice weird things, like in this image below. I stepped
> > > over a boolean variable assignment, which sets it to true, but
> > > when I hover over it, it says its value is false. The debug
> > > cursor is past the point where the assignment was made. Why? Is
> > > this a kdevelop issue or maybe I just do not understand how this
> > > tool works yet. I thought the hover over would display the
> > > current value in the variable.
> > > Also, notice the qDebug() did not print on the application
> > > output. I did set up my application launcher in kdevelop, and
> > > debug launcher as Thomas showed in his screenshots. The only
> > > thing different was that I had an application target set, where
> > > he had an executeable. I updated mine to match his.
> > > 
> > > 
> > > If anyone has an more insights, please let me know.
> > > I appreciate the time and assistance.
> > > thanks,
> > > JV
> > > 
> > > On Thu, 2019-12-26 at 11:30 -0500, Jack wrote:
> > > > Pending further response from Thomas, I think the debugfull is
> > > > better for your situation.  However, the actual control of
> > > > optimization is in flags to the compiler, usually set with
> > > > CFLAGS or CXXFLAGS.  Optimization is -Ox where x is the level
> > > > of optimization applied.  For example, my cmake line starts
> > > > with 'CFLAGS="-O0 -ggdb" CXXFLAGS=$CFLAGS cmake ....'  The -O0
> > > > (capital letter o, digit zero) says no optimization at all. The
> > > > -ggdb may not be necessary for you, but at some point, helped
> > > > me by explicitly providing some additional debug information
> > > > used by gdb.  I am not sure whether it makes any difference if
> > > > you are debugging with kdevelop.
> > > > Jack
> > > > On 12/26/19 11:12 AM, jvapr27 at gmail.com wrote:
> > > > > Hi Thomas,
> > > > > Thanks for the response.
> > > > > Where can I check this?
> > > > > > Did you build with optimization? Turn them off.
> > > > > 
> > > > > My last cmake command was:cmake ..
> > > > > -DCMAKE_INSTALL_PREFIX=/usr -
> > > > > DKDE_INSTALL_PLUGINDIR=/usr/lib64/qt5/plugins
> > > > > I will try the following:cmake ..
> > > > > -DCMAKE_INSTALL_PREFIX=/usr -
> > > > > DKDE_INSTALL_PLUGINDIR=/usr/lib64/qt5/plugins-
> > > > > DCMAKE_BUILD_TYPE=Debugfull
> > > > > In case this is the problem, do you know what this is for
> > > > > then?
> > > > > The default value is: 'RelWithDebInfo'
> > > > > I read that as Release-with-Debug-and-Info. Is this still
> > > > > optimizing for release?
> > > > > thanks,
> > > > > JV
> > > > > 
> > > > > 
> > > > > 
> > > > > On Thu, 2019-12-26 at 11:59 +0100, Thomas Baumgart wrote:
> > > > > > Jesus,
> > > > > > On Donnerstag, 26. Dezember 2019 08:54:38 CET 
> > > > > > jvapr27 at gmail.com <mailto:jvapr27 at gmail.com> wrote:
> > > > > > > Everyone... in case you have run into this before.
> > > > > > > 
> > > > > > > I cannot seem to get Kdevelop to work correctly.
> > > > > > > 
> > > > > > > Problems:
> > > > > > > - I set breakpoints but the breakpoint is set a few lines
> > > > > > > off.
> > > > > > > - When running in Debug mode, I am watching a variable
> > > > > > > named
> > > > > > > invertedValue which I hard coded to = true; and still the
> > > > > > > variable 
> > > > > > > does
> > > > > > > not set to true, as if it is not debugging the code I see
> > > > > > > in the IDE.
> > > > > > 
> > > > > > Did you build with optimization? Turn them off.
> > > > > > Optimization causes all kinds of weird looking side effects
> > > > > > when debugging.
> > > > > > > - I set qDebug() and qInfo() methods but they did not
> > > > > > > show anything in
> > > > > > > the output view. Where should this show up? Anything I
> > > > > > > can 
> > > > > > > configure in
> > > > > > > the Kdevelop to get it to work?
> > > > > > 
> > > > > > Shows up in the Debug view. See attached screenshot: shows
> > > > > > an active breakpoint in the source code and the output in
> > > > > > the Debug view.
> > > > > > > Any help would be greatly appreciated.
> > > > > > 
> > > > > > Also attached how I configured the launches in KDevelop
> > > > > > > @Thomas, I am focusing on the Cashflow report.
> > > > > > > thanks,
> > > > > > > JV
> > > > > > > On Sun, 2019-12-22 at 08:51 +0100, Thomas Baumgart wrote:
> > > > > > > > Jesus,
> > > > > > > > 
> > > > > > > > On Samstag, 21. Dezember 2019 18:28:05 CET Jesus Varela
> > > > > > > > wrote:
> > > > > > > > 
> > > > > > > > > Dev team,
> > > > > > > > > 
> > > > > > > > > I am trying to become more familiar with the code and
> > > > > > > > > am looking
> > > > > > > > > for the
> > > > > > > > > code that would control whether transfers are graphed
> > > > > > > > > and displayed
> > > > > > > > > as
> > > > > > > > > negative numbers in the reports. I want to display
> > > > > > > > > absolute values
> > > > > > > > > on
> > > > > > > > > charts and tables.
> > > > > > > > 
> > > > > > > > Not sure which report you want to modify, but there is
> > > > > > > > e.g. a method
> > > > > > > > called
> > > > > > > > PivotTable::coloredAmount(). It is responsible to
> > > > > > > > render the color
> > > > > > > > for HTML
> > > > > > > > reports. The callee of this method provides the value.
> > > > > > > > 
> > > > > > > > > I figured I would use this personal desire to get
> > > > > > > > > acquainted with
> > > > > > > > > the code.
> > > > > > > > > Any hints would be appreciated. I found the
> > > > > > > > > kreportchartview.cpp
> > > > > > > > > and in
> > > > > > > > > there is a variable to figure out if expenses should
> > > > > > > > > be negative or
> > > > > > > > > not,
> > > > > > > > > but I do not see anything for transfers. If it is
> > > > > > > > > there, I will
> > > > > > > > > keep
> > > > > > > > > looking. If I am on the wrong file, please let me
> > > > > > > > > know if you know
> > > > > > > > > where I
> > > > > > > > > should be looking.
> > > > > > > > 
> > > > > > > > KReportChartView::drawPivotChart receives all values in
> > > > > > > > the parameter
> > > > > > > > 'grid'.
> > > > > > > > You may want to look into the construction of the grid
> > > > > > > > to find the
> > > > > > > > spot where
> > > > > > > > the values of the transfers are inserted.
> > > > > > > > 
> > > > > > > > The spot you found is not negating the value of each
> > > > > > > > expense, but
> > > > > > > > simply
> > > > > > > > negates the value contained in the grid if the
> > > > > > > > underlying account for
> > > > > > > > the cell
> > > > > > > > is an expense account. So I wonder if that would be the
> > > > > > > > spot to
> > > > > > > > achieve what
> > > > > > > > you are trying.
> > > > > > > > 
> > > > > > > > > Just trying to make sure I am understanding the
> > > > > > > > > structure. I
> > > > > > > > > haven't used
> > > > > > > > > c++ in a long time.
> > > > > > > > > 
> > > > > > > > > Thanks in advance for any assistance.
> > > > > > > > 
> > > > > > > > Hope that helps. The reporting section is not my area
> > > > > > > > of expertise.
> > > > > > > > 
> > > > > > > > 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kmymoney-devel/attachments/20191228/21a458e8/attachment-0001.html>


More information about the KMyMoney-devel mailing list