t_fischer: (Default)
[personal profile] t_fischer

First screenshot of KDiff3 port to KF5I am a regular user of KDiff3, a two-way or three-way merging tool for KDE. The tool is very useful to quickly compare and merge source code and LaTeX files or to resolve .rpmnew/.pacsave files.

Unfortunately, there has been very little activity in this project (last commit September 2014) and it is still stuck on Qt4/KDE4. The original maintainer, Joachim Eibl, has unfortunately no time left to develop this project.
To keep this very useful tool alive, I stepped forward and ported the code base in a few evenings from Qt4/KDE4 to Qt5/Frameworks 5. Well, the port is not complete, I have to admit …

First, if you would like to get the code, fetch it from the Git repository at KDE or GitLab. The old KDE4 code is still in master, the new KF5-based code in branch kf5.

The code should compile on Linux and the resulting executable should start without crashing immediately, but there are some known issues, such as:

  • Command line arguments are mostly ignored, such as when two or three filenames get provided for comparison/merging. Reason is that command line parsing happens deep inside the code and command line arguments were retrieved via KCmdLineArgs's static functions. QCommandLineParser does not offer the same static methods, so the code needs to be refactored to evaluate arguments earlier.
  • Some code which is/seemed to be specific for non-Linux operating systems has been removed. Some of those specific code segments may no longer be necessary with Qt5. Right now, focus is on Unix-like platforms with Linux being my own development base. Other operating systems will be targeted in the future once the KF5-based code has matured a little bit more.
  • Various code fragments which were not easy to port to KDE Frameworks 5 have been commented out with a TODO comment for later porting.
  • Installation, locating, and handling of files including GUI XML files, configuration files, icons, etc. may or may not work.

I will work on this project as time allows. Support and contributions are welcome, of course.

Identity URL: 
Account name:
If you don't have an account you can create one now.
HTML doesn't work in the subject.


If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.


t_fischer: (Default)
Thomas Fischer

January 2019

  123 45

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags