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},

Reply via email to