Author Topic: Proposal for new "reverse levels" functionality  (Read 3162 times)

GarryP

  • Hero Member
  • *****
  • Posts: 1600
  • Karma: 25
  • Scribus User
Proposal for new "reverse levels" functionality
« on: November 21, 2013, 11:42:26 pm »
I'd like to propose a new feature for Scribus which could be called "Reverse Levels".

Sometimes you can have two objects that are on the wrong level - i.e. object A should be on top of object B but they are actually the other way round - and usually just moving one of them to either the top or bottom would fix the problem.

However, sometimes - when you have lots of objects - this can put the moved object in totally the wrong order and more manual level editing is required.

My proposed new feature would simply reverse the level order of the selected objects. So, for example, if you had object A at level 32 and object B at level 54, using the new function would set object A at level 54 and B at level 32.

The function could work for any number of selected objects - must be more than one of course - and, for an odd number of objects, the "middle one" would just stay where it was.

I believe this would save quite a bit of time when manually reordering objects for text flow etc.

It could live with the other existing Level sub-menu items as "Level -> Reverse".

What does anyone think?

utnik

  • Hero Member
  • *****
  • Posts: 1222
  • Karma: 14
Re: Proposal for new "reverse levels" functionality
« Reply #1 on: November 22, 2013, 02:52:20 am »
hi garry

in one way it sounds interesting, but it's at least a bit dangerous too!
  • if your selegtion contains grouped objets, the effect will be completely different from the same selection with all elements ungrouped
  • if you accidentally catch a small or even an invisible element more than expected, you may search a while for the error…
i never missed this function in the past and i'm not sure, if it would make scribus better or worse…

utnik

GarryP

  • Hero Member
  • *****
  • Posts: 1600
  • Karma: 25
  • Scribus User
Re: Proposal for new "reverse levels" functionality
« Reply #2 on: November 22, 2013, 12:03:52 pm »
Hi utnik.

Thanks for the feedback. It's always much appreciated.

I believe that I can answer both of your concerns.

1. The level order within a group should be preserved, therefore treating a group as a single object. This may make the code a bit more complicated but I can't see it proving to be a major issue.

2. This function would be no more dangerous or disruptive to small or "invisible" objects than any other function. Similar unexpected behaviour would happen if someone used, for instance, the "Raise to Top" or resize functions on a selection. And this function may actually show where there's a problem more readily. And, after all, there's no excuse for bad housekeeping.  :)

I realise that this is very minor functionality and the developers have got much more important things to deal with so I'm not bothered if it gets forgotten about forever. It's merely a suggestion.

However, I do think it would be good for a small student project. It's quite "self contained" in the way that it doesn't really effect any other functionality so the code can be easily kept away from any other changes going on and slotted in when necessary.

Anyway, I thought I'd put the idea out there to see what people thought.

P.S. I've not missed this myself in the past but there have been many times where I've had to manually mess around with levels when all I wanted to do was swap two things round. This suggestion is just an extension of my thinking. (Obviously, a "swap" is just a reverse between only two things.)

utnik

  • Hero Member
  • *****
  • Posts: 1222
  • Karma: 14
Re: Proposal for new "reverse levels" functionality
« Reply #3 on: November 22, 2013, 12:43:19 pm »
hi garry

i'm aware of the fact that the problems i mentioned are due to 'bad housekeeping' – but that's what produces most of the problems with komplex software, at least for beginners.
    •    if you select the objects on levels 1 and 3 and there is an invisible level 4 object in the selection (or what looks like your level 3 object consists of two parts on levels 3 and 4), you'll wonder why the (not selected) object on level 2 changes its position as well…
the problem with grouped or ungrouped objects is more or less similar to this – i expect this feature to be a real beginner trap.

utnik

GarryP

  • Hero Member
  • *****
  • Posts: 1600
  • Karma: 25
  • Scribus User
Re: Proposal for new "reverse levels" functionality
« Reply #4 on: November 22, 2013, 02:25:10 pm »
I agree that this functionality could be confusing for beginners but the same could be said for any non-basic function of any software that is complex enough to be useful.

If we stopped adding functions to software that could be confusing to some people then we'd probably have to stop at the splash screen. I'm kidding of course but I hope my point is made.

In my experience, if a user finds some functionality confusing they generally stop using it and look for a work-around. But that's no reason for experienced people to not have the chance to use it if they want to.

Anyway, the argument is probably moot as the functionality as described will probably never be added, but it's an interesting one all the same.

P.S. As for the housekeeping issue, I vaguely remember some forum posts that mention a request for some kind of functionality that would look for things like empty text frames - possibly in the pre-flight verifier. I'm not sure if something like this is in the roadmap but it would seem like a good idea to me. (It could also include other things too, such as objects that have properties that make them invisible/tiny.)

utnik

  • Hero Member
  • *****
  • Posts: 1222
  • Karma: 14
Re: Proposal for new "reverse levels" functionality
« Reply #5 on: November 22, 2013, 03:02:43 pm »
hi garry

If we stopped adding functions to software that could be confusing to some people then we'd probably have to stop at the splash screen.

that's a good point! – it might be useful to keep some features hidden for beginners (enabled in some kind of 'expert mode' only…)

Quote
I vaguely remember some forum posts that mention a request for some kind of functionality that would look for things like empty text frames - possibly in the pre-flight verifier. I'm not sure if something like this is in the roadmap

as a reaction to this forum thread i posted a feature request on mantis – meanwhile it's fixed and part of 1.5.0svn.

Quote
It could also include other things too, such as objects that have properties that make them invisible/tiny.

invisible items, yes. but tiny ones? – maybe better not!

utnik

GarryP

  • Hero Member
  • *****
  • Posts: 1600
  • Karma: 25
  • Scribus User
Re: Proposal for new "reverse levels" functionality
« Reply #6 on: November 22, 2013, 03:33:20 pm »
Having an "Expert Mode" sounds like a brilliant idea to me. Beginners start with a cut-down set of functions and then turn on stuff later as they get more advanced. I'm not sure how it could be done, but I'd be all for that. (The only tiny issue I have is how to remind users that they're still in "Beginners Mode". They might forget and think Scribus is very basic.)

And fingers crossed for new PFV functionality.

Well, you're probably right about tiny ones. That was just me pulling random ideas out of my head. There's an awful lot of weird stuff in there!

Cheers.