r22992 by avox - LOD patch #123: unify 'No Style' with default style / keep direct formatting when applying parstyle / make charstyle sticky when deleting all text from textframe. No fileformat changes

scribus-commit scribus-commit at lists.scribus.net
Fri May 31 13:17:00 UTC 2019


Author: avox
Date: Fri May 31 13:17:00 2019
New Revision: 22992

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22992
Log:
LOD patch #123: unify 'No Style' with default style / keep direct formatting when applying parstyle / make charstyle sticky when deleting all text from textframe. No fileformat changes

Modified:
    trunk/Scribus/scribus/scribusdoc.cpp
    trunk/Scribus/scribus/text/storytext.cpp
    trunk/Scribus/scribus/text/storytext.h
    trunk/Scribus/scribus/ui/spalette.cpp

Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22992&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp	(original)
+++ trunk/Scribus/scribus/scribusdoc.cpp	Fri May 31 13:17:00 2019
@@ -7883,7 +7883,7 @@
 {
 	ParagraphStyle newStyle;
 	newStyle.setParent(name.isEmpty()? BaseStyle::INHERIT_PARENT : name);
-	itemSelection_ApplyParagraphStyle(newStyle, customSelection, true);
+	itemSelection_ApplyParagraphStyle(newStyle, customSelection, false);
 }
 
 

Modified: trunk/Scribus/scribus/text/storytext.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22992&path=/trunk/Scribus/scribus/text/storytext.cpp
==============================================================================
--- trunk/Scribus/scribus/text/storytext.cpp	(original)
+++ trunk/Scribus/scribus/text/storytext.cpp	Fri May 31 13:17:00 2019
@@ -58,6 +58,7 @@
 	m_shapedTextCache = new ShapedTextCache();
 	
 	d->len = 0;
+    orphanedCharStyle = defaultStyle().charStyle();
 	invalidateAll();
 }
 
@@ -555,6 +556,13 @@
 	if (pos + static_cast<int>(len) > length())
 		len = length() - pos;
 
+    if (pos == 0 && len > 0 && len == length())
+    {
+        int lastChar = length() - 1;
+        while (lastChar > 0 && text(lastChar) == SpecialChars::PARSEP)
+            --lastChar;
+        orphanedCharStyle = charStyle(lastChar);
+    }
 	for (int i = pos + static_cast<int>(len) - 1; i >= pos; --i)
 	{
 		ScText *it = d->at(i);
@@ -1152,7 +1160,7 @@
 	if (length() == 0)
 	{
 //		qDebug() << "storytext::charstyle: default";
-		return defaultStyle().charStyle();
+		return orphanedCharStyle;
 	}
 	if (pos == length())
 	{

Modified: trunk/Scribus/scribus/text/storytext.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22992&path=/trunk/Scribus/scribus/text/storytext.h
==============================================================================
--- trunk/Scribus/scribus/text/storytext.h	(original)
+++ trunk/Scribus/scribus/text/storytext.h	Fri May 31 13:17:00 2019
@@ -283,6 +283,7 @@
 private:
 	ScribusDoc * m_doc; 
 	int m_selFirst, m_selLast;
+    CharStyle orphanedCharStyle;
 	ShapedTextCache* m_shapedTextCache;
 	static BreakIterator* m_graphemeIterator;
 	static BreakIterator* m_wordIterator;

Modified: trunk/Scribus/scribus/ui/spalette.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22992&path=/trunk/Scribus/scribus/ui/spalette.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/spalette.cpp	(original)
+++ trunk/Scribus/scribus/ui/spalette.cpp	Fri May 31 13:17:00 2019
@@ -32,7 +32,7 @@
 ParaStyleComboBox::ParaStyleComboBox(QWidget* parent) : QComboBox(parent)
 {
 	setEditable(false);
-	addItem( tr("No Style"));
+    addItem( CommonStrings::trDefaultParagraphStyle );
 	currentDoc = nullptr;
 	connect(this, SIGNAL(activated(int)), this, SLOT(selFormat(int)));
 }
@@ -45,7 +45,7 @@
 
 void ParaStyleComboBox::setFormat(const QString& name)
 {
-	setCurrentComboItem(this, name.isEmpty() ? tr("No Style") : name);
+	setCurrentComboItem(this, name.isEmpty() ? CommonStrings::trDefaultParagraphStyle : name);
 }
 
 void ParaStyleComboBox::updateFormatList()
@@ -59,10 +59,10 @@
 	if (currentDoc != nullptr)
 	{
 		QStringList st;
-		addItem( tr("No Style"));
+		addItem( CommonStrings::trDefaultParagraphStyle );
 		for (int x = 0; x < currentDoc->paragraphStyles().count(); ++x)
 		{
-			if ( !currentDoc->paragraphStyles()[x].name().isEmpty() )
+			if ( !currentDoc->paragraphStyles()[x].name().isEmpty() && !currentDoc->paragraphStyles()[x].isDefaultStyle())
 				st.append(currentDoc->paragraphStyles()[x].name());
 		}
 		st.sort();
@@ -96,7 +96,7 @@
 CharStyleComboBox::CharStyleComboBox(QWidget* parent) : QComboBox(parent)
 {
 	setEditable(false);
-	addItem( tr("No Style"));
+    addItem( CommonStrings::trDefaultCharacterStyle );
 	currentDoc = nullptr;
 	connect(this, SIGNAL(activated(int)), this, SLOT(selFormat(int)));
 }
@@ -109,7 +109,7 @@
 
 void CharStyleComboBox::setFormat(const QString& name)
 {
-	setCurrentComboItem(this, name.isEmpty() ? tr("No Style") : name);
+	setCurrentComboItem(this, name.isEmpty() ? CommonStrings::trDefaultCharacterStyle : name);
 }
 
 void CharStyleComboBox::updateFormatList()
@@ -123,10 +123,11 @@
 	if (currentDoc != nullptr)
 	{
 		QStringList st;
-		addItem( tr("No Style"));
+		addItem( CommonStrings::trDefaultCharacterStyle );
 		for (int x = 0; x < currentDoc->charStyles().count(); ++x)
 		{
-			if ( !currentDoc->charStyles()[x].name().isEmpty() )
+			if ( !currentDoc->charStyles()[x].name().isEmpty() &&
+                !currentDoc->charStyles()[x].isDefaultStyle())
 				st.append(currentDoc->charStyles()[x].name());
 		}
 		st.sort();
@@ -160,7 +161,7 @@
 CellStyleComboBox::CellStyleComboBox(QWidget* parent) : QComboBox(parent)
 {
 	setEditable(false);
-	addItem( tr("No Style"));
+    addItem( CommonStrings::trDefaultCellStyle );
 	currentDoc = nullptr;
 	connect(this, SIGNAL(activated(int)), this, SLOT(selFormat(int)));
 }
@@ -173,7 +174,7 @@
 
 void CellStyleComboBox::setFormat(const QString& name)
 {
-	setCurrentComboItem(this, name.isEmpty() ? tr("No Style") : name);
+	setCurrentComboItem(this, name.isEmpty() ? CommonStrings::trDefaultCellStyle : name);
 }
 
 void CellStyleComboBox::updateFormatList()
@@ -187,10 +188,11 @@
 	if (currentDoc != nullptr)
 	{
 		QStringList st;
-		addItem( tr("No Style"));
+		addItem( CommonStrings::trDefaultCellStyle  );
 		for (int x = 0; x < currentDoc->cellStyles().count(); ++x)
 		{
-			if ( !currentDoc->cellStyles()[x].name().isEmpty() )
+			if ( !currentDoc->cellStyles()[x].name().isEmpty() &&
+                !currentDoc->cellStyles()[x].isDefaultStyle())
 				st.append(currentDoc->cellStyles()[x].name());
 		}
 		st.sort();
@@ -225,7 +227,7 @@
 TableStyleComboBox::TableStyleComboBox(QWidget* parent) : QComboBox(parent)
 {
 	setEditable(false);
-	addItem( tr("No Style"));
+	addItem( CommonStrings::trDefaultTableStyle );
 	currentDoc = nullptr;
 	connect(this, SIGNAL(activated(int)), this, SLOT(selFormat(int)));
 }
@@ -238,7 +240,7 @@
 
 void TableStyleComboBox::setFormat(const QString& name)
 {
-	setCurrentComboItem(this, name.isEmpty() ? tr("No Style") : name);
+	setCurrentComboItem(this, name.isEmpty() ? CommonStrings::trDefaultTableStyle : name);
 }
 
 void TableStyleComboBox::updateFormatList()
@@ -252,10 +254,11 @@
 	if (currentDoc != nullptr)
 	{
 		QStringList st;
-		addItem( tr("No Style"));
+		addItem( CommonStrings::trDefaultTableStyle );
 		for (int x = 0; x < currentDoc->tableStyles().count(); ++x)
 		{
-			if ( !currentDoc->tableStyles()[x].name().isEmpty() )
+			if ( !currentDoc->tableStyles()[x].name().isEmpty() &&
+                !currentDoc->tableStyles()[x].isDefaultStyle())
 				st.append(currentDoc->tableStyles()[x].name());
 		}
 		st.sort();




More information about the scribus-commit mailing list