Jesus, I created build scripts that I use several times a month to build and install KMM from the 3 branches (including 4.8). You can also build from a released source file. Feel free to download them from the link below, they may help explain the process even if you do not wish to use them. I always download a fresh source tree rather than patching an existing tree. I had some issues when I first started compiling from source more than 10 years ago and decided not to mess updates. This was back in the cvs days.
I can easily put diff files in the Patches folder that will be applied to any new builds. I've attached a sample below. This patch shortens the text in the scheduled transaction tab. I was annoyed by it not fitting in the tab in tabbed view so I found a way to abbreviate it. Pretty simple patch. As far as which branch is stable, good luck with that:-) Every time I ask for an explanation I get more confused. I normally compile the Master branch unless I know a change is only in the 5.0 branch. You can reorder the branches in the ScriptsKMM.conf file to make your chosen default branch first (GitBranches="MASTER 5.0 4.8"). If you have any feedback or suggestions for my scripts please let me know. ---- Brendan Coupe KMyMoney Build Scripts - Easily Build KMyMoney From Source Code https://drive.google.com/drive/folders/1sfo2HgzaCCSb3d7pjl3To50yoQT5BaXM ---- Brendan Coupe ---- Brendan Coupe On Sat, Dec 28, 2019 at 3:48 PM <jvap...@gmail.com> wrote: > > 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) configuration > b) compilation / linkage > c) 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 true > Located plugin "/usr/lib64/qt5/plugins/kmymoney/csvimporter.so" Validity true > . > . > Loading "/usr/lib64/qt5/plugins/kmymoney/budgetview.so" > Plugins: budgetview loaded > Loading "/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, jvap...@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, jvap...@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 jvap...@gmail.com > <mailto:jvap...@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. > >
diff --git a/kmymoney/views/kmymoneyview.cpp b/kmymoney/views/kmymoneyview.cpp index 108de98..964974b 100644 --- a/kmymoney/views/kmymoneyview.cpp +++ b/kmymoney/views/kmymoneyview.cpp @@ -150,7 +150,7 @@ KMyMoneyView::KMyMoneyView() {View::Home, i18n("Home"), Icon::ViewHome}, {View::Institutions, i18n("Institutions"), Icon::ViewInstitutions}, {View::Accounts, i18n("Accounts"), Icon::ViewAccounts}, - {View::Schedules, i18n("Scheduled\ntransactions"), Icon::ViewSchedules}, + {View::Schedules, i18n("SchedTrans"), Icon::ViewSchedules}, {View::Categories, i18n("Categories"), Icon::ViewCategories}, {View::Tags, i18n("Tags"), Icon::ViewTags}, {View::Payees, i18n("Payees"), Icon::ViewPayees},