Bug 459868

Summary: Tools: Bug and Feature Requests
Product: [Applications] KXStitch Reporter: Michael <blackhawke.696>
Component: generalAssignee: Steve Allewell <steve.allewell>
Status: REPORTED ---    
Severity: normal CC: blackhawke.696, gabso94
Priority: NOR    
Version First Reported In: 2.2.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Other   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Michael 2022-09-30 18:16:56 UTC
Tools > Draw: ONLY produces a line or polygon of quarter-stitches, REGARDLESS of what stitch has been chosen in the "Stitches" drop down menu, and there is no combination of settings anywhere in KXStitch that changes this output. I've tried them all. Repeatedly.

Obviously, the Tools > Draw function should produce a line of stitches that matches the user's selection in the "Stitches" drop down menu.

Also, Tools > Select from the drop down menu clips (or copies or cuts) with the gridded background visible. This is suboptimal for copy/pasting design elements from either the active pattern or the Library Manager, as Pasting the selection into the design _also_ overwrites all other underlying stitches with the selection rectangle. There are no Settings that change this, anywhere.

It would be much better if the Tools > Select function selects ONLY for non-background elements, and clip them to a transparent background. Pasting should not overwrite previous work with the background pattern contained in the selection.

FEATURE REQUESTS

 * Have "Select" do more than just select for a rectangle.
 * Allow more editing functions for better control over pattern output. Files > Print Setup, and better control over how patterns sections are displayed on pages. At present, either the clumsy pattern sectioning of the software must be accecpted, the whole "pattern" must be ouput as an image on a single page and be cut up using Gimp or similiar.
 * In a similar vein, when setting up a print, allowing the choice of an "overlap" of columns and rows on patterns sections, for user convenience would be great. Especially if there's the ability to add shading to columns, rows, and specific pattern elements to indicate that they are "overlapped" from a contiguous page.

Thanks!

SOFTWARE/OS VERSIONS
Linux/Ubuntu v20 Gnome (running KDE libraries, obviously):
Comment 1 Steve Allewell 2022-10-01 12:42:27 UTC
Thank you for reporting these issues and suggestions, sometimes a quick question to the mailing list may have answered a number of these points.

The Tools>Draw function will produce full cross stitches for lines unless the 'Configure KXStitch' setting Editor>Tools>'Tools Fractionals' is enabled, in which case it will produce a line using stitches that best fit the line and these are often quarter or half stitches.  This is similar to the setting Import>'Use Fractionals' which, when enabled will use fractional stitches when importing images instead of just full stitches.

I don't intend to change this behaviour as you suggested.

The pasting functionality is by design as it may well be desirable to replicate the whitespace (background) into the pasted area.  There is merge functionality built in by pressing and holding the shift key before releasing the mouse button or pressing [Enter] if using the keyboard to move the pattern being pasted.  I have realised this is not documented, so my apologies for that and I will update accordingly, possibly even adding a tooltip or a setting that allows merge as a user default.

Feature requests:
- Select to do more : can you elaborate on what you would like to see here.
- The current tools in the page setup allow you to create whatever page layout that you want and is fully documented.  If there is something else that you would like to see, please provide more detail.
- I can look at adding shading to overlapped cells.

Regards
Comment 2 gabriel sotelo 2025-02-28 01:55:44 UTC
I'd like to add a couple too! I have looked at the source code (and glanced at the Qt docs) and I think I can implement all three. My coding experience is mostly on embedded systems and web, I know my way around C++ although I haven't yet used Qt before in an app.

PROBLEM. The only way to move across the document (especially when zoomed in) is to drag the scroll bars. Scrolling with the mouse wheel always changes the zoom. This is not very ergonomic!
SOLUTION (1). Add a "Hand" or "Pan"  tool. The QGraphicsView component supports this natively with QGraphicsView::setDragMode(QGraphicsView::ScrollHandDrag)
(2) Allow middle-click drag for panning, like a lot of other applications do. With (1) implemented it would be somewhat straightforward from what I could gather.
This way the pan function can be used both with and without a middle button. Optionally Shift or Ctrl + left-drag, maybe. Perhaps even an option to select if scroll does zoom or pan by default.

PROBLEM. PCstitch files above version 7 cannot be imported. I have some PCStitch 10 patterns and the internal structure *appears* to be the same, except for the header that indicates the version. I have to investigate the differences more but I believe we can expand support for newer PCStitch versions

I'll play around with the code and see if I can make panning work. Should I publish either of the issues as its own bug?