winmerge
winmerge copied to clipboard
[Feature request] Qt version of WinMerge
Hello. I'm a previous Windows user, and there are only two programs that I miss: Notepad++ and WinMerge.
Yes, there's Meld, but it's not the same thing... and I don't want to install Wine, is a vehicle for viruses.
Do you think it's possible to see a Linux version for WinMerge in a future?
Thank you anyway.
There is an ongoing effort to isolate or reduce Windows dependencies, but there are currently no plans to port it to Linux.
PullRequest is very welcome.
Well, can I ccontribute? Can you givve me an exxample of Window dependence?
WinMerge uses the MFC library and Win32 API, which can only be used on Windows.
You can make porting easier by avoiding them as much as possible and separating where they are not used.
What about Qt Framework? Can I try to use it?
Qt is one of the most likely candidates.
WinMerge3, which has been discontinued, was also trying to use Qt.
There is a version using Qt for the image comparison function.
https://github.com/sdottaka/qtimerge
QtIMerge is based on WinMerge or is yet another merge tool?
Unluckily, WinMerge3 repo link is dead: https://bitbucket.org/grimmdp/winmerge
EDIT: I found it. I don't know if it's a fork, but it's a good starting point: https://bitbucket.org/eburkitt/winmerge3/src/default/
QtIMerge is based on WinMerge or is yet another merge tool? QtIMerge is based on WinIMerge (https://bitbucket.org/winmerge/winimerge/)
But the question is: if I successfully develop a Qt version of WinMerge, it will adopted as the main interface? I have no intention to align every time the code of WinMerge with this hypotetical WinMerge Qt.
If the Qt version is highly complete, it will be the main interface. Even if it is not complete, it will be incorporated into the repository if it can be maintained along with the existing MFC source.
EDIT: I found it. I don't know if it's a fork, but it's a good starting point: https://bitbucket.org/eburkitt/winmerge3/src/default/
Well, it seems it's not a standard QT project... I prefer to start it a fresh one, a Qt Widget Application, using Qt 5.12.3 with G++ 9.1
Well, maybe is premature, but I'm creating a WinMergeQt project on Github. The problem is the license. I would use GPLv3, but WinMerge is licensed under GPLv2. Can we mix the code and licenses? I think there's no problem if the Qt interface source code is licensed under GPLv3, while WinMerge core continues to have the old GPLv2.
Well, I created a stub repository here: https://github.com/Marco-Sulla/WinMergeQt
Help and suggestion are welcomed.
WinMerge use GPLv2 but don't forbid newer GPL versions:
WinMerge is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
The FAQ from Qt says that distributed also under GPLv2:
3.5. Can I use the Community open source version to develop my commercial product?
It depends on how you license and distribute your product. The open source version of Qt is mainly distributed under the LGPL, version 3 and GPLv2/v3. You will need to fulfill the license obligations for these licenses when using Qt in your product.
https://www.qt.io/faq/
I took the old attempt of winmergeqt and merged it with the current code. I found a tool which extracts the windows res-files and transforms it to QT resourcefiles. Afterwards I started porting the code to QT.
Currently the Aboutbox is working:
(Really awesome)
The translation is basically working (you can read mitwirkende insted of developers!)
Saving and reading settings from registry or ini file is working.
I'm using linux, so I can't promise (I rather sure it's not) comiling on windows. The Poco Library has to be Compiler manully before starting to build winmerge at version
It's compiling on my linux with cmake (using Clion as IDE) and qmake (using QT Creator as IDE)
The link to my repro is here: https://github.com/OzzieIsaacs/winmerge-qt
A linux version is needed, but wine runs it and viruses come depending on user's activity (I don't use many Windows apps, so I am confident they won't be an issue). I've tried all the diff apps I've found (> 10) and I must say WinMerge is the most flexible one, especially when somebody needs editing that won't incorporate any change a regular merge would do. QT or GTK, any of them is very good and welcome! I personally use KDE, so a QT version would be great!
Microsoft announced MAUI, their own cross-platform UI, which could also be an alternative to Qt. https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
@OzzieIsaacs Nice work! 👍 You gave up on it?
More or less yes, I gave up. I don't have time for my main project and also the port to qt. No feedback, no nothing from qt, so the choice which project to continue was easy. PRs are welcome, currently it's a whole mess.
Off topic: do not trust Microsoft. Ever. Remember the three E.
Nooooo! QT, please! No MAUI!
Do we still have interest for a Qt based WinMerge?
Do we still have interest for a Qt based WinMerge?
Yes, of course! Been using Winmerge for many years under Windows, now need it in Linux.
It would be great to have it macOS as well.
+1 winmerge on linux.. whatever the ui framework.. use electron and have ui web for ultra portability
+1 winmerge on linux.. whatever the ui framework.. use electron and have ui web for ultra portability
There is a graphical diff application called Meld for Linux.
There isn't anything alike WinMerge. So unique, so natural!
Meld != WinMerge. At all.
+1 for a Linux version of WinMerge