View Issue Details

IDProjectCategoryView StatusLast Update
0012927ScribusUsabilitypublic2015-03-10 06:25
Reporterale Assigned Tocbradney  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product Version1.5.0svn 
Fixed in Version1.5.0svn 
Summary0012927: [PATCH] remove three and four fold from the new document dialog
Descriptionas utnik very well describes in this forum post:

http://www.scribus-forum.de/viewtopic.php?f=2&t=211

my suggestion is that the three and four fold options should only appear in the document settings.
TagsNo tags attached.
PatchYes

Activities

christoph_s

2015-02-22 08:16

developer   ~0034558

+1. This is a source of wide-spread confusion and a serious usability issue.

ale

2015-02-25 07:57

manager  

newfile.diff (1,995 bytes)   
Index: scribus/ui/newfile.cpp
===================================================================
--- scribus/ui/newfile.cpp	(revision 19879)
+++ scribus/ui/newfile.cpp	(working copy)
@@ -191,33 +191,21 @@
 	layoutsView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
 	for (int pg = 0; pg < prefsManager->appPrefs.pageSets.count(); ++pg)
 	{
-		QListWidgetItem *ic;
-		QString psname=CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[pg].Name);
-		if (pg == 0)
+		if (pg < 2)
 		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+			QListWidgetItem *ic;
+			QString psname=CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[pg].Name);
+			if (pg == 0)
+			{
+				ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
+				ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+			}
+			else if (pg == 1)
+			{
+				ic = new QListWidgetItem( QIcon(loadIcon("32/page-doublesided.png")), psname, layoutsView );
+				ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+			}
 		}
-		else if (pg == 1)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-doublesided.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else if (pg == 2)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-3fold.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else if (pg == 3)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-4fold.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
 	}
 	layoutsView->arrangeIcons();
 	pageSizeGroupBoxLayout->addWidget( layoutsView, 0, 0, 5, 1 );
newfile.diff (1,995 bytes)   

ale

2015-02-25 08:35

manager   ~0034583

Last edited: 2015-02-25 08:38

or, more simply:

    // file > new only shows single and double faces; more of them in doc settings
    for (int pg = 0; pg < qMin(prefsManager->appPrefs.pageSets.count(), 2); ++pg)
    {
        QListWidgetItem *ic;
        QString psname=CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[pg].Name);
        if (pg == 0)
        {
            ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
            ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
        }
        else if (pg == 1)
        {
            ic = new QListWidgetItem( QIcon(loadIcon("32/page-doublesided.png")), psname, layoutsView );
            ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
        }
    }


i have to test it on the laptop...

ale

2015-02-25 10:06

manager   ~0034584

Last edited: 2015-02-25 10:23

or even...
    // shows single and double face layout; more layouts (3, 4) in doc settings
    QListWidgetItem *ic;
    QString psname;

    psname = CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[0].Name);
    ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
    ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
    
    psname = CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[1].Name);
    ic = new QListWidgetItem( QIcon(loadIcon("32/page-doublesided.png")), psname, layoutsView );
    ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);

... but that one, i really have to test it...

ale

2015-02-25 12:19

manager   ~0034585

new patch without the for loop uploaded.

now, i have one issue: it should not be possible to set 3 or 4 fold in the preferences, either.

only in document setup.

but the pagelayout.cpp code is rather, how should i say, cryptic...
and there are calls from a bit everywhere directly updating the values (or at least at several places).

and, in pagelyout.cpp, i have no access to m_doc, which seems the way to tell the dialog if it's a preference or a setup.

is there any example of a widget that behaves differently depending on the fact that it's called as settings or document setup?

ale

2015-02-25 20:33

manager  

newfile_no_for.diff (2,185 bytes)   
Index: scribus/ui/newfile.cpp
===================================================================
--- scribus/ui/newfile.cpp	(revision 19879)
+++ scribus/ui/newfile.cpp	(working copy)
@@ -189,36 +189,19 @@
 
 	layoutsView = new PageLayoutsWidget( pageSizeGroupBox );
 	layoutsView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
-	for (int pg = 0; pg < prefsManager->appPrefs.pageSets.count(); ++pg)
-	{
-		QListWidgetItem *ic;
-		QString psname=CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[pg].Name);
-		if (pg == 0)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else if (pg == 1)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-doublesided.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else if (pg == 2)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-3fold.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else if (pg == 3)
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-4fold.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-		else
-		{
-			ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
-			ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
-		}
-	}
+
+	// display single and double face layout; more layouts (3, 4) in doc settings, only
+	QListWidgetItem *ic;
+	QString psname;
+
+	psname=CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[0].Name);
+	ic = new QListWidgetItem( QIcon(loadIcon("32/page-simple.png")), psname, layoutsView );
+	ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+
+	psname=CommonStrings::translatePageSetString(prefsManager->appPrefs.pageSets[1].Name);
+	ic = new QListWidgetItem( QIcon(loadIcon("32/page-doublesided.png")), psname, layoutsView );
+	ic->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+
 	layoutsView->arrangeIcons();
 	pageSizeGroupBoxLayout->addWidget( layoutsView, 0, 0, 5, 1 );
 	layoutsView->arrangeIcons();
newfile_no_for.diff (2,185 bytes)   

ale

2015-02-25 22:02

manager  

config_no_34fold.diff (562 bytes)   
Index: scribus/scribus/ui/prefs_documentsetup.cpp
===================================================================
--- scribus/scribus/ui/prefs_documentsetup.cpp	(revision 19879)
+++ scribus/scribus/ui/prefs_documentsetup.cpp	(working copy)
@@ -30,6 +30,8 @@
 		applyMarginsToAllPagesCheckBox->hide();
 		applyMarginsToAllMasterPagesCheckBox->hide();
 		pageSizeLinkToolButton->hide(); //temp
+		fourFoldRadioButton->hide();
+		threeFoldRadioButton->hide();
 //		connect(pageSizeLinkToolButton, SIGNAL(clicked()), this, SLOT(emitSectionChange()));
 	}
 	else
config_no_34fold.diff (562 bytes)   

ale

2015-02-25 22:03

manager   ~0034604

additional patch uploaded: now the prefs don't have 3/4-fold anymore.

cbradney

2015-02-25 22:53

administrator   ~0034606

Done, but based on settings or open document.

christoph_s

2015-02-26 07:03

developer   ~0034608

Finally! Thanks Alessandro and Craig. Fixed.

ale

2015-02-26 07:10

manager   ~0034609

hi craig

if i can give you a feedback, i don't like your choice of using the settings value for disabling.

since it builds upon a side effect -- the fact that it's not possible anymore to set those values in the preferences -- the code becomes harder to read.


i also thought of what happens, when somebody has 3 or 4 fold set in her preferences... and, well, i could not imagine that anybody has done that, so decided not to care about it.

if you want to handle it, i think that the best thing to do, is to check for that value when reading the preferences from the file and set it to 0, if it's -- now -- out of bounds.
keeping those values around forever, even if they cannot be set anymore (and i think nobody sees a reason to be able to set them!) is IMO not sane.

ale

2015-03-08 09:38

manager   ~0034669

Does not seem to work.

In the document setup I don't get the 3 and 4 folds...

cbradney

2015-03-08 12:05

administrator   ~0034670

You won't get them if your prefs or your doc doesn't have either 3 or 4 fold set. Otherwise, they are no longer available. We need to keep the code around for old docs.

ale

2015-03-08 18:56

manager   ~0034671

craig, 3 and 4 folds are legit folds!
they should not be broadly used, but usecases do exist!
we should probably offer n-folds, instead, but that's a different issue.

IMO (and not only I) they're not so common that they deserve their place in the new document (and in the settings).
and there were too many people misusing them and getting stuck

but i don't think that completely removing them is a good idea.

this is not what was asked for in my ticket and not what was in my patch.

jghali

2015-03-09 09:14

administrator   ~0034672

>> 3 and 4 folds are legit folds!

No, they aren't. What Scribus implements with these settings is not 3-4 folds, but 3-4 pages which is different from 3-4 folds. By using those "3-4 fold" settings, you just require more work on printer side without any other benefit. Documents which must be folded in such a way have to be, I would even say *must* be, layouted as single page docs.

christoph_s

2015-03-09 09:31

developer   ~0034673

I totally agree with Jean. The 3-/4-fold options were absolutely useless in real print workflows and, worse, a source of confusion.

We should get rid of them completely, but that's what I've been advertising for since I don't remember when ;)

ale

2015-03-09 09:53

manager   ~0034674

i remember louis -- a printer -- saying that 3-4 folds are useful if used correctly (i remember him saying that he wanted more of it...). but my memories might be incorrect.

in any case, for what i'm personally concerned, having the 3 and 4 folds in the new file dialog was a real pain and the current situation is for sure better.

if somebody is missing the further options he or she will hopefully wine loud enough that we can hear him/her and get to a better solution.

and, at least, now it's documented why this feature has been completely removed.

Issue History

Date Modified Username Field Change
2015-02-21 16:50 ale New Issue
2015-02-22 08:16 christoph_s Note Added: 0034558
2015-02-25 07:57 ale File Added: newfile.diff
2015-02-25 07:57 ale Patch No => Yes
2015-02-25 07:57 ale Summary remove three and four fold from the new document dialog => [PATCH] remove three and four fold from the new document dialog
2015-02-25 08:35 ale Note Added: 0034583
2015-02-25 08:38 ale Note Edited: 0034583
2015-02-25 10:06 ale Note Added: 0034584
2015-02-25 10:07 ale Note Edited: 0034584
2015-02-25 10:07 ale Note Edited: 0034584
2015-02-25 10:23 ale Note Edited: 0034584
2015-02-25 12:14 ale File Added: newfile_no_for.diff
2015-02-25 12:19 ale Note Added: 0034585
2015-02-25 20:32 ale File Deleted: newfile_no_for.diff
2015-02-25 20:33 ale File Added: newfile_no_for.diff
2015-02-25 22:02 ale File Added: config_no_34fold.diff
2015-02-25 22:03 ale Note Added: 0034604
2015-02-25 22:53 cbradney Note Added: 0034606
2015-02-25 22:53 cbradney Status new => resolved
2015-02-25 22:53 cbradney Fixed in Version => 1.5.0svn
2015-02-25 22:53 cbradney Resolution open => fixed
2015-02-25 22:53 cbradney Assigned To => cbradney
2015-02-26 07:03 christoph_s Note Added: 0034608
2015-02-26 07:03 christoph_s Status resolved => closed
2015-02-26 07:10 ale Note Added: 0034609
2015-03-08 09:38 ale Note Added: 0034669
2015-03-08 09:38 ale Status closed => new
2015-03-08 12:05 cbradney Note Added: 0034670
2015-03-08 12:05 cbradney Status new => resolved
2015-03-08 18:56 ale Note Added: 0034671
2015-03-08 18:56 ale Status resolved => new
2015-03-09 09:14 jghali Note Added: 0034672
2015-03-09 09:14 jghali Status new => resolved
2015-03-09 09:31 christoph_s Note Added: 0034673
2015-03-09 09:53 ale Note Added: 0034674
2015-03-10 06:25 cbradney Status resolved => closed