Mantis Issue Tracking for Scribus
· Hosting provided by Anduin.net / Øverby Consulting ·

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0009156ScribusCanvaspublic2010-06-10 22:412012-06-19 21:39
Reporterpspencer 
Assigned Tocezaryece 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformlinuxOSFedoraOS Version10
Product Version1.3.7 
Target Version1.5.0Fixed in Version1.5.0svn 
Summary0009156: Feature: adjust frame to contents for text frames
DescriptionThis is one of what will be several feature-request reports I will be filing over the next few weeks, after we tried unsuccessfully to persuade someone to use Scribus so we didn't have to maintain an InDesign installation and she came up with a list of specific shortcomings of Scribus versus InDesign for her work.

In InDesign you can double-click the bottom of a text frame to automatically adjust the frame's height to fit the contents, and can double-click the bottom-right to automatically adjust both the width and the height for "optimal" text flow (using some algorithm I don't entirely understand, but whose most useful purpose is to shrink both the width and the height of a single-line text frame).

This is very useful for typesetting frames with short one-line captions, and for adjusting frame height after altering text content, rather than having to drag to a manually chosen height.

The attached patch implements this. If the bottom frame handle is double-clicked, it adjusts the height to find the smallest height that doesn't cause overflow (but won't go smaller than 10 points or larger than to the bottom of the page). If the bottom-right corner is double-clicked, it first adjusts the height and then tries to shrink the width as much as possible without creating overflow.

For a text frame that links to another frame, where there is already overflow into the other frame, it simply reduces height/width as much as possible without pushing additional characters into the other frame.

I first tried to implement this by seeing how much free space was left over then reducing height by a corresponding amount, but could see no way to make that work with frames of non-rectangular shape or frames with multiple columns where the column breaks might be influenced by other factors. So instead it now just does a straight binary search. The trial resizings are not entered into
the undo mechanism, but after the trial and error process the original dimensions are restored then an undoable change is made to the new size.
Tagsusability
Patch
Attached Filespatch file icon scribus-1.3.7-textsnap-corrected.patch [^] (3,432 bytes) 2010-06-10 23:09 [Show Content]
diff file icon autoheight.diff [^] (21,389 bytes) 2012-06-19 15:59 [Show Content]

- Relationships

-  Notes
(0024036)
pspencer (reporter)
2010-06-10 22:46

Arggh, just noticed I after hitting Submit that I submitted a bad patch (forgot the page offset). I'll upload a corrected one in a few minutes.
(0027473)
StefanM (reporter)
2012-01-06 10:14

@pspencer I like that "bottom of a text frame to automatically adjust the frame's height to fit the contents", saves a lot of clicks in newspaper layout.

Reading your patch code: your patch fires only if frame handle is double-clicked.
I feel there should be a key and/or menu entry for this, as double clicking on frames is very messy in scribus.

More general: clicking on specific parts on scribus frames is a major usability problem, as you dont know which frame will be selected on a page with many overlapping frames. A workaround is using layers.
(0028180)
ale (manager)
2012-06-18 08:33

i think that cezary is working on this...
(0028217)
cezaryece (developer)
2012-06-19 15:59
edited on: 2012-06-19 16:00

First initial patch for that issue.

For now it only brings two features:
1. adjusting text frame height to last line(s) descents (no matter if text fits in frame or flow away - frame`s height only shrinks to descents in last lines
Action has menu and contextmenu entry and is applicable by double click on bottom frame handle.
2. resize item size to page margin (in direction from which handle is clicked - right handle - resize to right margin, left handle - left margin, bottom/right handle - to bottom/left margin corner). As benefit it is working for all frames (image, render).

Patch is attached, you can see also autoheight branch in our scribus.git repo.

(0028223)
cbradney (administrator)
2012-06-19 21:27

First part committed.. I'd prefer other options for activating 2) and it to be in scribusdoc probably rather than pageitem.

- Issue History
Date Modified Username Field Change
2010-06-10 22:41 pspencer New Issue
2010-06-10 22:41 pspencer File Added: scribus-1.3.7-textsnap.patch
2010-06-10 22:46 pspencer Note Added: 0024036
2010-06-10 23:09 pspencer File Added: scribus-1.3.7-textsnap-corrected.patch
2010-06-11 23:27 jghali File Deleted: scribus-1.3.7-textsnap.patch
2010-06-11 23:29 jghali Target Version => 1.5.0
2012-01-06 09:49 StefanM Tag Attached: usability
2012-01-06 10:14 StefanM Note Added: 0027473
2012-06-18 08:33 ale Note Added: 0028180
2012-06-18 21:25 ale Assigned To => cezaryece
2012-06-18 21:25 ale Status new => assigned
2012-06-19 15:59 cezaryece Note Added: 0028217
2012-06-19 15:59 cezaryece File Added: autoheight.diff
2012-06-19 16:00 cezaryece Note Edited: 0028217 View Revisions
2012-06-19 21:27 cbradney Note Added: 0028223
2012-06-19 21:33 cbradney Status assigned => resolved
2012-06-19 21:33 cbradney Fixed in Version => 1.5.0svn
2012-06-19 21:33 cbradney Resolution open => fixed
2012-06-19 21:39 cbradney Status resolved => closed



Copyright © 2000 - 2014 MantisBT Team
Powered by Mantis Bugtracker