I made a new repository and backported the changes (made possible be kdiff), this repository have some features attempts (like multiple view at once) that made more damage than good. I will make a branch on git once it's ready. I will fix variable naming (some slots don't start be "slot") and make good comments. I will also remove all tge //TODO dead code and //TODO ELV <missing> tags from the code. They are there to remind me that there is some work left to be done in those functions.<br>
<br>As for git, are you ok to move from SVN to Git and try to merge the GSoC2008, -ng and trunk repositories into a single repository (using branches)? <br><br><div class="gmail_quote">2011/5/12 Andi Fischer <span dir="ltr"><<a href="mailto:andi.fischer@hispeed.ch">andi.fischer@hispeed.ch</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Am 12.05.2011 20:22, schrieb Andi Fischer:<div><div></div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am 09.05.2011 08:04, schrieb Emmanuel Lepage-Vallée:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi, I my name is Emmanuel Lepage Vallee (Elv13 on IRC). This is my<br>
first post on this list, some of you may be aware of my recent work on<br>
Umbrello or have seem me in the past decade on IRC.<br>
<br>
Recently, I have put quite a lot of time on Umbrello recently working<br>
on UI elements I disliked or prevented umbrello from being used to do<br>
real work at a decent speed. My main contribution is a new input<br>
system for classifier and other related UML objects. This system<br>
is/will be making it easier to add element to classifier items (more<br>
to come, but classifier for now). It use/will use a dock instead of a<br>
legion of keyboard unfriendly popups. It currently look like that:<br>
<br>
<a href="http://img88.imageshack.us/i/blender101.png/" target="_blank">http://img88.imageshack.us/i/blender101.png/</a><br>
<br>
The idea is not new, some other modeling software such as Oracle (TM)<br>
MySQL Workbench already use similar input system. It already work<br>
really well with the mouse. The keyboard part need some work, as it<br>
need a custom even filter to manage tabs and enter corectly. This work<br>
is still in progress. There is also some bugs and unconnected slots. I<br>
will need to make some test cases to be sure everything work. The<br>
changes are semi invasive. 95% of them just hook to the model. Some<br>
other take existing code and put it into new widgets, such as one for<br>
the operation/attribute type, as this code is shared in many new and<br>
existing places.<br>
<br>
The other changes you can see in this screenshot is a statusbar zoom<br>
widget. This widget is getting quite common in KDE4 and is easier to<br>
use than the current toolbar slider. It is a little cool change,<br>
nothing big. The fact that the text is centered is a bug, I just need<br>
time to fix it.<br>
<br>
The other change is moving the toolbar to the left and dock to the<br>
right and merge them. While undo view is useful, it may not be<br>
required by default. As for the documentation dock, I think it's nice<br>
to have it. I am not sure if it need to be separated from the model<br>
treeview. The classifier input system take a lot of place when it is<br>
visible, so it looked better like that, not sure about usability however.<br>
<br>
There is quite a lot of other changes I want to make too:<br>
Double click: return to cursor when the toolbar item is pressed once<br>
and lock if the item is double clicked. Workbench/Vision/Draw/MS<br>
Office/OpenOffice/All other work like that. It will require an event<br>
filter.<br>
Better item tree: The current treeview is terrible. It show too much<br>
stuffs like items from other diagrams. A little filter, removal of<br>
unneeded items, better default expansion settings would be nice, someday.<br>
Auto add items to the view during import: Having to add items in the<br>
canvas by hand after importing them is bad. Auto import of the<br>
projects classes would be nice (not all classes, just the project ones)<br>
"Fit" zoom: this is broken in the widget right now, I wait from the<br>
Camila GSoC work.<br>
Handle all types of diagrams: Some diagrams variant would need some<br>
love. I am thinking about dedicated helpers for code Classes and<br>
database diagram while they are the same in theory,<br>
Remove zoom from toolbar: well, it is not needed anymore to be there<br>
by default<br>
New icon set: I am working on it, it's getting nice, but the small<br>
variants are not yet as nice as I would like them to be.<br>
KAction for everything: there is a lot of actions missing all over the<br>
place like adding a class in the canvas.<br>
Multiple view at once: using a qsplitter to view more than once<br>
diagram at once. It's useful when you have to base one diagram on an<br>
existing one. I tried, but I failed to get it to work without bugs, so<br>
I will wait for the new canvas to be ready too.<br>
<br>
Those features are TODO, it is obviously too late for 4.7. However, I<br>
think my current work on the classifier is more then useful enough to<br>
be part of 4.7. I added it on the soft feature freeze so I can merge<br>
it until may 12. I will not enable it by default just yet, it need<br>
more polishing and bug fixing, but it should be quite strong when 4.7<br>
is being released. So this is a formal merge request:<br>
<br>
Can I merge my current work once I have unified the indentation and<br>
variable naming (95% done):<br>
-The dock inout system for classifier items<br>
-The zoom widget<br>
-The toolbar on the left with small icons<br>
-The removal of zoom items from the default toolbar<br>
-Disable the undo view by default<br>
<br>
You can try the features by cloning this repository<br>
git@github.com:Elv13/Umbrello-ng.git If something is broken, try the<br>
previous commit. It's still buggy, but it work. As for other things,<br>
like porting umbrello to git, this will wait until this code is merged<br>
as the deadline is quite soon. Any feedback welcome. I will take care<br>
or merging what is ready once/if I get the approval to do it.<br>
<br>
Thanks for reading, answer soon please, the deadline is coming, I know<br>
I am late too, but I talked about it on IRC since like 2 months.<br>
</blockquote>
Hi Emmanuel,<br>
I compiled your repository successfully.<br>
Your work is very nice and useful, but I think it is not yet ready for<br>
inclusion.<br>
<br>
Here are some observations and opinions:<br>
- A lot of new compiler warnings are present.<br>
- When running Umbrello-ng my CPU is at 100% :-(<br>
- Disable the undo view by default is ok for me.<br>
- Adding the zoom widget is very welcome, but "fit" and "100%" buttons<br>
do not work yet.<br>
- In tab "Entity Attributes" there is a "Doc" button. Clicking on it<br>
opens a pop-up, that can not be closed again. Same in other tabs (e.g.<br>
source).<br>
- Why has a class this tab "Entity Attributes"? Is this not only for<br>
Entity Relationship Diagrams?<br>
- ...<br>
<br>
Please, keep up the good work. Do some more polishing and merge it as<br>
soon as the freeze is over.<br>
But this is only my opinion ;-)<br>
</blockquote></div></div>
Hi Emmanuel,<br>
<br>
Some more observations, which I hope are helpful:<br>
- In rowwidgetcontroller.h and rowwidgetcontroller.cpp add license at the beginning of the file.<br>
- Same for compactCombo.h and compactCombo.cpp.<br>
- Same for paramwidget.h and paramwidget.cpp.<br>
- Same for many more.<br>
- I guess that some compiler warnings are from the usage of KFontChooser and KMessageBox. Have a look at trunk.<br>
- You should apply the new commits to trunk also to your repository.<br>
<br>
Great work!<br>
<br>
Regards,<br><font color="#888888">
<br>
Andi<br>
<br>
</font></blockquote></div><br>