Bug 132285 - List of Feature Requests
Summary: List of Feature Requests
Status: RESOLVED INVALID
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
6.4.2.2 release
Hardware: x86-64 (AMD64) Windows (All)
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-21 03:44 UTC by Gino Vincenzini
Modified: 2020-04-21 04:02 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Gino Vincenzini 2020-04-21 03:44:24 UTC
Description:
Hello friends,

I have a little bit of background before I get to the features I would like to suggest (and even help to implement if someone is willing to pair up with me since I'm new to the code-base). 

I'm working on building a computer and I'm trying to plan out the wiring and components before I purchase the parts. I built a list of the parts on PCPartPicker.com and scoured the internet for all the documentation I could find. My plan was to draw up this wiring and connection diagram in LibreOffice Draw but I ran into a few hurdles that made it not so user friendly for the task. And frustratingly, every other software program I've tried that I have access to has been even less helpful making Draw the ideal candidate for drawing up these sorts of diagrams. 

So before I tell the story of how I ran into these issues, and list the features I'm proposing, I want to preface this with a note that these features may already exist but if they do, then their discoverability then is what I would suggest improving and would love to discuss, and as I said before, I would love the opportunity to work with a more experienced developer to make them more accessible. 

So first onto the list, and then an explanation of what I was doing that made me want these features and how they might work if implemented:

1. Lock Item - A button near the corner of a shape or image or object that locks it in place, prevents it from being resized, and requires double clicking in order to select. Also a button in the toolbar/sidebar that will lock the item and maybe a similar button in the navigator for the object, layer, or sheet would make that feature more accessible. 

2. First Class anchor point object - an object point that can be placed on the canvas that is otherwise identical to other objects except that it has an anchor point in the center to which lines, curves, sides, etc can be anchored (just like the anchor points on any other object) but otherwise without a visible presence on the final printed sheet.

3. Coordinate Locking - The ability to lock certain sides or points of one object with other objects, but especially these anchor point objects. The idea behind this is that a shape will resize or a point will move in the direction that two elements are locked, so for example, if I have a square and a point, and I have a line between them, and another line 90 degrees from that line to another point, and I lock the x axis of the square and the first point, then the line between the first and second point will extend or shrink, but if I move the square along the y axis, then the point will not move and the line between the point and the square will shrink or extend. 

4. Selection of object from Navigator - Currently, when clicking on an object in the navigator, it does not select the object on the canvas, or at least the selection is not visible on the canvas. 

5. Custom Shape Palette - This is a much bigger feature with some sub-features. The idea is another artboard on the canvas that contains custom shapes that the user has drawn. When these shapes are selected and dragged to the primary artboard, they automatically duplicate. To actually remove the shape, you would select it and then use any delete function (key, menu option, etc) to remove it after confirming in a dialog box that you wish to do so. Additionally, a repository would host user submitted palettes that could then be downloaded from within Draw, shown on the canvas, and then shapes used automatically. Their sizes would be fixed in mm/inches and a scale option would exist in the artboard properties to scale the objects up or down. There would also be a "help" feature when right clicking in case there's any documentation in markdown or HTML. File-wise, these would be standard draw files with a different extension (oddt?) as well as the md/html file for the "help" sub-feature.

6. Add Visible/Invisible switch - Add a Visible/Invisible icon switch for each item in the navigator to hide or show objects, whole layers, or even whole pages. Hidden objects would not be considered in the exported or printed version of the document but would be available in the saved drawing. Gimp, photoshop, and many other drawing programs have this feature and it's very helpful for them and I think it would be helpful to LO Draw as well. 

7. Add a set of buttons to the Navigator - Make it so that the navigator has buttons for adding objects, moving the order of objects (such as an image), adding layers, adding pages, etc. Also a context menu that can do these things.

8. Fix color theme inconsistencies - Right now, there are several icon sets bundled with LibreOffice that will show white/light icons for "dark mode" but there is no darkmode setting. Additionally, there is a theme color option but it only affects the menu and some other widgets but not the toolbars, it also doesn't affect the tabbed bar background color where the light colored icons are located. At least it doesn't on Windows.

9. Crop Tool When automatic proportions are enabled - For this one, I had the wrong setting selected but basically when cropping an image while the automatic proportion setting is enabled, the preview of the crop shrinks or grows proportionally but then when the crop is completed it seems to behave the way you would have otherwise expected it to only cropping that side or corner to the position you placed it. The preview telegraphing should match with the behavior of the tool.

10. Allow Selection Rect inside another shape - As it stands, if you try to select shapes that are inside of another shape, using the rectangular select tool, it will not do it, instead the initial click will select the enclosing shape and the only option to fix it is to move the shape out of the way while you work on the "inner" shapes. This isn't ideal as it requires clicking on each shape while holding shift to select them and also if the shape has an opacity of 0 fill, you have to click on what might be a VERY thin pixel width border which is very difficult to do right. A wrong click will select shapes you didn't intend. 

11. By Default, Selecting a tool, and then clicking on a shape expecting to drop a point of the shape you're building should not cancel the tool, and turn the cursor into a "move" tool of the underlying shape. I'm trying to trace an image of a processor to add to my diagram but everytime I click on a point on that shape with the polygon tool, I instead get out of whatever mode I was in to draw that polygon and can only select the shape underneath and move it. And worse, the only way to get out of that and back into the tool (really frustrating if you're zoomed in on a small detail) is to select a blank spot on the page. 

12. Renaming, Title, and Description should be editable from the Navigator without opening dialogs. Basically there should be a panel in "Properties" for the name, title, and description. Also, if you double click on an object in the Navigator, it should allow you to rename the item. 

I ran across these issues while I was trying to trace over images of parts after scaling them to their actual size on the page. The selection rect and the tool selection issues both are because there's a shape underneath but that shouldn't be an issue (which is the reason for 1, 4, 10, and 11) I kept accidentally selecting and moving things I didn't mean to (items 4, 6, 7, 10, and 11). When building the wiring diagrams themselves, I ran into the issue of how to manually place the bend points of the connectors and decided that drawing 3x3 squares at each 90 degree bend and anchoring to the center and then making the squares disappear was the solution but then moving those around presented other problems. I believe anchor point objects that can be axially locked to the shape they connect to would help (items 2, 3, 6, 10, and 11). The navigator seemed promising but selecting an object in there didn't select it on the canvas (items 4, 5, 6, 7, and 12). I looked around in the settings for help but to no avail, nor could I activate a dark mode to make the UI easier on the eyes (items 8 and 11). 

Thankfully LibreOffice is Open Source (hence the name). So I figured maybe it wouldn't be too difficult to download the sources, and write these features myself but after gitting the sources from the git repo, I realized I had a massive undertaking on my hands and that's just in looking around and learning the codebase. If this feature request is accepted, or even partially accepted, I would love the opportunity to participate in writing the code that will implement them. 

Thank you so much for making the time to read this feature request.

Gino Vincenzini

Actual Results:
N/A

Expected Results:
N/A


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 6.4.2.2 (x64)
Build ID: 4e471d8c02c9c90f512f7f9ead8875b57fcb1ec3
CPU threads: 4; OS: Windows 10.0 Build 18363; UI render: GL; VCL: win; 
Locale: en-US (en_US); UI-Language: en-US
Calc: CL
Comment 1 Mike Kaganski 2020-04-21 04:02:12 UTC
Closing this INVALID, because it is not a proper feature request. A single issue must be devoted to a single request, which might be evaluated, then tracked and resolved individually. Having an arbitrary list does not allow to decide if this should be implemented or not (and which parts), or see at which stage it is or what is still missing.

Please file as many simple requests as needed.