Implementing missing lines migh not be possible

Discussion for WinMergeQT experiment (and later porting?)

Implementing missing lines migh not be possible

Postby kimmov » Sat Jul 11, 2009 10:51 am

After looking at (Q)Scintilla for some time now it starts looking that implementing WinMerge-kind of file compare is not possible. The editor (rightfully) assumes that lines in files are sequential. But WinMerge GUI would require adding some missing lines between lines to synchronize files. That kind of GUI might not be possible to implement without modifying editor components themselves. And that is something I'm not interesting in doing - after having lots of problems in WinMerge with it. Implementing properly might take same time than most of the other porting work.

So what are alternatives?

I think the only real alternative is to implement "mapping" area between editor panes. Like many other compare programs do.

I'm keeping wiki up to date when I'll progress. I've written about this problem to: http://bitbucket.org/kimmov/winmergeqt/wiki/FileCompare
kimmov
 
Posts: 562
Joined: Thu Sep 11, 2008 8:51 pm
Location: Finland

Re: Implementing missing lines migh not be possible

Postby kimmov » Sat Jul 11, 2009 12:15 pm

Hmm.. KDiff3 just shows empty lines as missing lines. We probably can use similar approach with QScintilla. Add missing lines as empty lines and style them to look different. But linenumbering probably won't behave with real line numbers as it is in WinMerge.
kimmov
 
Posts: 562
Joined: Thu Sep 11, 2008 8:51 pm
Location: Finland

Re: Implementing missing lines migh not be possible

Postby gerundt » Mon Aug 10, 2009 8:14 am

I tested this weekend Notepad++ 5.4.5 which include a Compare plugin. This plugin use (like Notepad++ self) Scintilla to compare the files. I like the "+" and "-" symbols before the changed lines. But for missing lines it use also empty lines with a different background.

Since the developer form Scintilla is a WinMerge fan, we can maybe ask for a missing lines feature? :mrgreen:

http://www.scintilla.org/ScintillaRelated.html wrote:WinMerge is an interactive diff / merge for Windows. I prefer code submissions in the form of source files rather than diffs and then run WinMerge over the files to work out how to merge.
gerundt
Site Admin
 
Posts: 192
Joined: Wed Sep 24, 2008 8:47 am
Location: Germany

Re: Implementing missing lines migh not be possible

Postby kimmov » Mon Aug 10, 2009 1:46 pm

I haven't had a time to work with this since those initial commits. :(

I also got confused the fact that I was looking at latest QScintilla sources in Windows and then noticed that Ubuntu comes with earlier version that misses some classes. So I don't think we can assume people have the latest version in other than Windows and so have to also think what is the supported version. As it might not be easy to support older version if code is written for latest version.

QScintilla is practically a C++ wrapper for Scintilla's API. There is also a way to use that low level Scintilla API from QScintilla. But QScintilla API looks to be much easier to use.
kimmov
 
Posts: 562
Joined: Thu Sep 11, 2008 8:51 pm
Location: Finland


Return to WinMergeQT

Who is online

Users browsing this forum: No registered users and 1 guest