View Issue Details

IDProjectCategoryView StatusLast Update
0016881ScribusUser Interfacepublic2023-05-29 18:56
Reporterpmjdebruijn Assigned Tojghali  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.6.0.svn 
Fixed in Version1.6.0.svn 
Summary0016881: Section Default Numbering
DescriptionIn Document Setup / Sections, the default section is named by default "0", but regular people don't count from 0, but 1 :)

The attached patch does three things:
The default section is named "Main Matter", effectively Section 1 (as opposed to 0, see below)
Additional section are now named "Section #"
And the section numbers are offset by +1

While minor, this seem like slightly friendlier default behavior to me.
TagsNo tags attached.
PatchYes

Activities

pmjdebruijn

2023-01-04 16:14

reporter  

sections.patch (1,389 bytes)   
diff --git a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
index 55a37845f..327283a15 100644
--- a/scribus/scribusdoc.cpp
+++ b/scribus/scribusdoc.cpp
@@ -6778,7 +6778,7 @@ void ScribusDoc::addSection(int number, const QString& name, const uint frominde
 	if (empty)
 	{
 		newSection.number = 0;
-		newSection.name = "0";
+		newSection.name = tr("Main Matter");
 		newSection.fromindex = 0;
 		newSection.toindex = docPageCount-1;
 		newSection.type = Type_1_2_3;
diff --git a/scribus/ui/prefs_documentsections.cpp b/scribus/ui/prefs_documentsections.cpp
index 78ecfdb17..8626758c0 100644
--- a/scribus/ui/prefs_documentsections.cpp
+++ b/scribus/ui/prefs_documentsections.cpp
@@ -198,7 +198,7 @@ void Prefs_DocumentSections::addEntry()
 		struct DocumentSection blank;
 		uint count = m_localSections.count();
 		blank.number = count;
-		blank.name = QString::number(count);
+		blank.name = tr("Section") + " " + QString::number(count + 1);
 		blank.fromindex = m_maxPageIndex + 1;
 		blank.toindex = m_maxPageIndex + 1;
 		blank.type = Type_1_2_3;
@@ -224,7 +224,7 @@ void Prefs_DocumentSections::addEntry()
 			{
 				struct DocumentSection blank;
 				blank.number = ++i;
-				blank.name = QString::number(i);
+				blank.name = tr("Section") + " " + QString::number(i + 1);
 				blank.fromindex = it->toindex + 1;
 				blank.toindex = it->toindex + 2;
 				blank.type = Type_1_2_3;
sections.patch (1,389 bytes)   

pmjdebruijn

2023-01-07 17:27

reporter   ~0049859

If you don't don't like using "Main Matter" as a default first section, here's modified patch that just uses the updated numbering scheme.
onlysections.patch (1,412 bytes)   
diff --git a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
index 55a37845f..327283a15 100644
--- a/scribus/scribusdoc.cpp
+++ b/scribus/scribusdoc.cpp
@@ -6778,7 +6778,7 @@ void ScribusDoc::addSection(int number, const QString& name, const uint frominde
 	if (empty)
 	{
 		newSection.number = 0;
-		newSection.name = "0";
+		newSection.name = tr("Section") + " " + QString::number(1);
 		newSection.fromindex = 0;
 		newSection.toindex = docPageCount-1;
 		newSection.type = Type_1_2_3;
diff --git a/scribus/ui/prefs_documentsections.cpp b/scribus/ui/prefs_documentsections.cpp
index 78ecfdb17..8626758c0 100644
--- a/scribus/ui/prefs_documentsections.cpp
+++ b/scribus/ui/prefs_documentsections.cpp
@@ -198,7 +198,7 @@ void Prefs_DocumentSections::addEntry()
 		struct DocumentSection blank;
 		uint count = m_localSections.count();
 		blank.number = count;
-		blank.name = QString::number(count);
+		blank.name = tr("Section") + " " + QString::number(count + 1);
 		blank.fromindex = m_maxPageIndex + 1;
 		blank.toindex = m_maxPageIndex + 1;
 		blank.type = Type_1_2_3;
@@ -224,7 +224,7 @@ void Prefs_DocumentSections::addEntry()
 			{
 				struct DocumentSection blank;
 				blank.number = ++i;
-				blank.name = QString::number(i);
+				blank.name = tr("Section") + " " + QString::number(i + 1);
 				blank.fromindex = it->toindex + 1;
 				blank.toindex = it->toindex + 2;
 				blank.type = Type_1_2_3;
onlysections.patch (1,412 bytes)   

jghali

2023-01-07 22:49

administrator   ~0049862

A tip related to translations : when including numbers in translations it is better to do something like this:
blank.name = tr("Section %1").arg(count + 1);
The reason for this is that word order can change depending on language and the translated "Section %1" value could well be something like "%1 Gloubibouga".

To avoid potential translation inconsistencies between ScribusDoc and Prefs_DocumentSections contexts, it will be probably better to put tr("Section %1") in CommonStrings with a variable name such as trSectionName or something better if you can find a better one.

pmjdebruijn

2023-01-08 12:22

reporter   ~0049863

Updated patch attached.
onlysections_v2.patch (1,400 bytes)   
diff -Nurpd a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
--- a/scribus/scribusdoc.cpp	2023-01-08 12:29:49.000000000 +0100
+++ b/scribus/scribusdoc.cpp	2023-01-08 12:56:42.950867627 +0100
@@ -6780,7 +6780,7 @@ void ScribusDoc::addSection(int number,
 	if (empty)
 	{
 		newSection.number = 0;
-		newSection.name = "0";
+		newSection.name = tr("Section %1").arg(1);
 		newSection.fromindex = 0;
 		newSection.toindex = docPageCount - 1;
 		newSection.type = Type_1_2_3;
diff -Nurpd a/scribus/ui/prefs_documentsections.cpp b/scribus/ui/prefs_documentsections.cpp
--- a/scribus/ui/prefs_documentsections.cpp	2023-01-08 12:29:49.000000000 +0100
+++ b/scribus/ui/prefs_documentsections.cpp	2023-01-08 12:56:42.958867663 +0100
@@ -198,7 +198,7 @@ void Prefs_DocumentSections::addEntry()
 		struct DocumentSection blank;
 		uint count = m_localSections.count();
 		blank.number = count;
-		blank.name = QString::number(count);
+		blank.name = tr("Section %1").arg(count + 1);
 		blank.fromindex = m_maxPageIndex + 1;
 		blank.toindex = m_maxPageIndex + 1;
 		blank.type = Type_1_2_3;
@@ -224,7 +224,7 @@ void Prefs_DocumentSections::addEntry()
 			{
 				struct DocumentSection blank;
 				blank.number = ++i;
-				blank.name = QString::number(i);
+				blank.name = tr("Section %1").arg(i + 1);
 				blank.fromindex = it->toindex + 1;
 				blank.toindex = it->toindex + 2;
 				blank.type = Type_1_2_3;
onlysections_v2.patch (1,400 bytes)   

pmjdebruijn

2023-01-08 12:59

reporter   ~0049864

And now with CommonStrings
onlysections_v3_commonstrings.patch (2,710 bytes)   
diff -Nurpd a/scribus/commonstrings.cpp b/scribus/commonstrings.cpp
--- a/scribus/commonstrings.cpp	2023-01-08 12:29:51.000000000 +0100
+++ b/scribus/commonstrings.cpp	2023-01-08 13:48:41.428775966 +0100
@@ -184,6 +184,8 @@ QString CommonStrings::trPostScript3 = "
 QString CommonStrings::WindowsGDI    = "";
 QString CommonStrings::trWindowsGDI  = "";
 
+QString CommonStrings::trSectionName = "";
+
 QString CommonStrings::trStrPT = "";
 QString CommonStrings::trStrMM = "";
 QString CommonStrings::trStrIN = "";
@@ -456,6 +458,9 @@ void CommonStrings::languageChange()
 	CommonStrings::WindowsGDI    = "Windows GDI";
 	CommonStrings::trWindowsGDI  = tr( "Windows GDI" );
 
+        //Section Name
+        CommonStrings::trSectionName = tr("Section %1");
+
 	//Units
 	CommonStrings::trStrPT = unitGetStrFromIndex(SC_PT);
 	CommonStrings::trStrMM = unitGetStrFromIndex(SC_MM);
diff -Nurpd a/scribus/commonstrings.h b/scribus/commonstrings.h
--- a/scribus/commonstrings.h	2023-01-08 12:29:51.000000000 +0100
+++ b/scribus/commonstrings.h	2023-01-08 13:47:35.364600655 +0100
@@ -272,6 +272,7 @@ public:
 	static QString trPostScript3;
 	static QString WindowsGDI;
 	static QString trWindowsGDI;
+	static QString trSectionName;
 
 	//Units strings
 	static QString trStrPT;
diff -Nurpd a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp
--- a/scribus/scribusdoc.cpp	2023-01-08 12:29:49.000000000 +0100
+++ b/scribus/scribusdoc.cpp	2023-01-08 13:47:35.368600665 +0100
@@ -6780,7 +6780,7 @@ void ScribusDoc::addSection(int number,
 	if (empty)
 	{
 		newSection.number = 0;
-		newSection.name = "0";
+		newSection.name = CommonStrings::trSectionName.arg(1);
 		newSection.fromindex = 0;
 		newSection.toindex = docPageCount - 1;
 		newSection.type = Type_1_2_3;
diff -Nurpd a/scribus/ui/prefs_documentsections.cpp b/scribus/ui/prefs_documentsections.cpp
--- a/scribus/ui/prefs_documentsections.cpp	2023-01-08 12:29:49.000000000 +0100
+++ b/scribus/ui/prefs_documentsections.cpp	2023-01-08 13:47:35.368600665 +0100
@@ -198,7 +198,7 @@ void Prefs_DocumentSections::addEntry()
 		struct DocumentSection blank;
 		uint count = m_localSections.count();
 		blank.number = count;
-		blank.name = QString::number(count);
+		blank.name = CommonStrings::trSectionName.arg(count + 1);
 		blank.fromindex = m_maxPageIndex + 1;
 		blank.toindex = m_maxPageIndex + 1;
 		blank.type = Type_1_2_3;
@@ -224,7 +224,7 @@ void Prefs_DocumentSections::addEntry()
 			{
 				struct DocumentSection blank;
 				blank.number = ++i;
-				blank.name = QString::number(i);
+				blank.name = CommonStrings::trSectionName.arg(i + 1);
 				blank.fromindex = it->toindex + 1;
 				blank.toindex = it->toindex + 2;
 				blank.type = Type_1_2_3;

jghali

2023-01-08 17:58

administrator   ~0049868

Thanks! I've now applied your patch.

Issue History

Date Modified Username Field Change
2023-01-04 16:14 pmjdebruijn New Issue
2023-01-04 16:14 pmjdebruijn File Added: sections.patch
2023-01-07 17:27 pmjdebruijn Note Added: 0049859
2023-01-07 17:27 pmjdebruijn File Added: onlysections.patch
2023-01-07 22:49 jghali Note Added: 0049862
2023-01-08 12:22 pmjdebruijn Note Added: 0049863
2023-01-08 12:22 pmjdebruijn File Added: onlysections_v2.patch
2023-01-08 12:59 pmjdebruijn Note Added: 0049864
2023-01-08 12:59 pmjdebruijn File Added: onlysections_v3_commonstrings.patch
2023-01-08 17:58 jghali Assigned To => jghali
2023-01-08 17:58 jghali Status new => resolved
2023-01-08 17:58 jghali Resolution open => fixed
2023-01-08 17:58 jghali Fixed in Version => 1.6.0.svn
2023-01-08 17:58 jghali Note Added: 0049868
2023-05-29 18:56 cbradney Status resolved => closed