hi, i'm attaching a patch for the current dia cvs tree that adds the following functionalities to the diagram tree window: - the diagram tree is not created/updated if the diagram tree window is never shown. - a single mouse click on a diagram or object node does not raise the corresponding diagram window nor selects the object. a double click is needed. - right-clicking a node pops up a context menu with the following commands: * Locate: same as double click * Properties: pop up the properties window (for objects) * Sort objects: + by name + by type + as inserted : these three have effect on the current diagram + All by name + All by type + All as inserted: these affect objects in all current diagrams + Default: + by name + by type + as inserted: these affect objects in all current and new diagrams * Sort diagrams: + by name + as inserted : these three have effect on the current diagrams + Default: + by name + as inserted: these affect all current and new diagrams. - the diagram tree has now its own preferences tab, and includes the initial width and height of the diagram tree window as configurable params. also, the default diagram and object sort modes are stored in diarc. caveats: - the pop-up menus are created using raw gtk (no #ifdef GNOME stuff). i have not added GNOME-style menus because gtk menus work fine for both GNOME and gtk, and the pop-up menus are so simple that i thought GNOME menus were not necessary: am i mistaken? - the menus are implemented in diagram_tree_menu.c instead of putting the code in menus.c... maybe i'm missing some i18n handling of the new menus: i have not fully understood the stuff in menus.c: any help/comments greatly appreciated! :-) todo: - allow multiple selection of objects/diagram nodes - a menu/preferences option to hide objects of some type (for instance, when displaying UML use cases, i'm not interested in seeing the connectors...) - delete command in pop-ups??? - handle the tree window size using sessions - <put your suggestion here :-)> as always, any comment will be highly appreciated. cheers, jao
Attachment:
dia.diff.gz
Description: dia unidiff file