Georg Baum wrote:
Abdelrazak Younes wrote:
Thanks a lot Angus, and I am happy that you like where I am heading. But
I would like others to express their opinions too. Lars, JMarc, Georg,
is there any hope that my changes are merged into trunk? I would be very
sad if I wasted my time...
I agree with Angus that you should provide the big picture. I believe that
everybody here trusts you that you can implement your desired canges in a
clean way (and posting patches ensures that minor glitches get noticed and
corrected, everybody makes some mistakes from time to time). If there is
agreement about the general direction you will not find much resistance
IMO.
There are two other points I'd like to mention:
- Your cleanup needs to bring some benefits (e. g. much easier
implementation of multiple workareas), after all the current design works,
and the fact that it would also work after a redesign does IMO not justify
the resources that such a redesign needs.
Of course it is not a cleanup for a cleanup. Although _I_ like cleanups
very much and _I_ think it's always good to do cleanup without further
feature, I know perfectly well that the LyX team is very conservative.
The big picture is quite simple really and I thought I made it clear
already. I am not very clear apparently. Let me summarize again:
1) Long Term Goal:
My long term goal is to have a single point of contact between the
kernel and the frontend. This is what the class BaseFrontend is there
for. The kernel will just instantiate _one_ class, no more factory, etc.
The Frontend class will manage everything that is visible on screen:
Views, WorkAreas, Toolbars, Cursor blinking, etc.
2) Short Term Goals:
2-a) Multiple WorkAreas.
The interface is now standardized for the Clipboard, the WorkArea(s) and
the Cursor. With my current tree, having multiple WorkAreas is very
close to reality (qt4 only for now)
2-b) Proper Clipboard support -> X11 selection, Fix Windows and Mac.
I'd like to complete 2) before going to 1. 2) is designed and _almost_
implemented already. When it is finished and in trunk I will take care
of 1). Because I know that the LyX core team is very scared of changes
in the kernel. I would like my tree to be merged as soon as it offers
the same functionality. My change to the kernel is minimal right now as
it touches only a few lines of BufferView_pimpl and Bufferview.
Effectively implementing the multiple WorkAreas feature would require
more change and I will need the support of the core LyX team.
So, if I may ask (again), do we have a deal?
- Proceed in small steps. For example, the original patch that only created
Application.[Ch] for qt4 could go have gone in without much discussion IMO.
That's exactly what I am trying to do Georg. But my qt4 is already much
changed because of the reorganization so it would be difficult (and very
time consuming) to merge it with trunk step by step.
Thanks for your comments.
Abdel.