View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0016881 | Scribus | User Interface | public | 2023-01-04 16:14 | 2023-05-29 18:56 |
| Reporter | pmjdebruijn | Assigned To | jghali | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 1.6.0.svn | ||||
| Fixed in Version | 1.6.0.svn | ||||
| Summary | 0016881: Section Default Numbering | ||||
| Description | In 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. | ||||
| Tags | No tags attached. | ||||
| Attached Files | 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;
| ||||
| Patch | Yes | ||||
|
|
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;
|
|
|
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. |
|
|
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;
|
|
|
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;
|
|
|
Thanks! I've now applied your patch. |
| 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 |