r17345 by fschmid - Tables: implement proper inheritance settings in the style manager.

scribus-commit scribus-commit at lists.scribus.net
Mon Feb 27 21:06:45 UTC 2012


Author: fschmid
Date: Mon Feb 27 21:06:44 2012
New Revision: 17345

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=17345
Log:
Tables: implement proper inheritance settings in the style manager.

Modified:
    trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
    trunk/Scribus/scribus/ui/smcellstyle.cpp
    trunk/Scribus/scribus/ui/smcellstyle.h
    trunk/Scribus/scribus/ui/smcellstylewidget.cpp
    trunk/Scribus/scribus/ui/smcellstylewidget.h
    trunk/Scribus/scribus/ui/smcellstylewidget.ui
    trunk/Scribus/scribus/ui/smtablestyle.cpp
    trunk/Scribus/scribus/ui/smtablestyle.h
    trunk/Scribus/scribus/ui/smtablestylewidget.cpp
    trunk/Scribus/scribus/ui/smtablestylewidget.h
    trunk/Scribus/scribus/ui/smtablestylewidget.ui

Modified: trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp (original)
+++ trunk/Scribus/scribus/plugins/fileloader/scribus150format/scribus150format.cpp Mon Feb 27 21:06:44 2012
@@ -4335,6 +4335,7 @@
 
 	if (currItem->asTable())
 	{
+		doc->dontResize = true;
 		PageItem_Table *tableitem = currItem->asTable();
 		int rows=attrs.valueAsInt("Rows",1);
 		int cols=attrs.valueAsInt("Columns",1);
@@ -4382,6 +4383,7 @@
 				tableitem->mergeCells(rows,columns,height,width);
 			}
 		}
+		doc->dontResize = false;
 	}
 
 	currItem->TopLine      = attrs.valueAsBool("TopLine", false);
@@ -4734,6 +4736,7 @@
 	item->setFillShade(attrs.valueAsInt("FillShade", 100));
 	QStringRef tagName = reader.name();
 	LastStyles * lastStyle = new LastStyles();
+	doc->dontResize = true;
 	while (!reader.atEnd() && !reader.hasError())
 	{
 		reader.readNext();
@@ -5019,6 +5022,7 @@
 	}
 	item->adjustTableToFrame();
 	item->adjustFrameToTable();
+	doc->dontResize = false;
 	return !reader.hasError();
 }
 

Modified: trunk/Scribus/scribus/ui/smcellstyle.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smcellstyle.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/smcellstyle.cpp (original)
+++ trunk/Scribus/scribus/ui/smcellstyle.cpp Mon Feb 27 21:06:44 2012
@@ -8,6 +8,7 @@
 */
 
 #include <QTabWidget>
+#include <QMessageBox>
 
 #include "prefsmanager.h"
 #include "smcellstyle.h"
@@ -410,6 +411,7 @@
 		return;
 	connect(m_page->fillColor, SIGNAL(activated(const QString&)), this, SLOT(slotFillColor()));
 	connect(m_page->fillShade_, SIGNAL(clicked()), this, SLOT(slotFillShade()));
+	connect(m_page->parentCombo, SIGNAL(activated(const QString&)), this, SLOT(slotParentChanged(const QString&)));
 }
 
 void SMCellStyle::removeConnections()
@@ -418,15 +420,23 @@
 		return;
 	disconnect(m_page->fillColor, SIGNAL(activated(const QString&)), this, SLOT(slotFillColor()));
 	disconnect(m_page->fillShade_, SIGNAL(clicked()), this, SLOT(slotFillShade()));
+	disconnect(m_page->parentCombo, SIGNAL(activated(const QString&)), this, SLOT(slotParentChanged(const QString&)));
 }
 
 void SMCellStyle::slotFillColor()
 {
-	// TODO: Handle inheritance as well.
-	QString fillColor(m_page->fillColor->currentText());
-	foreach (CellStyle *cellStyle, m_selection)
-	{
-		cellStyle->setFillColor(fillColor);
+	if (m_page->fillColor->useParentValue())
+	{
+		for (int i = 0; i < m_selection.count(); ++i)
+			m_selection[i]->resetFillColor();
+	}
+	else
+	{
+		QString col(m_page->fillColor->currentText());
+		for (int i = 0; i < m_selection.count(); ++i)
+		{
+			m_selection[i]->setFillColor(col);
+		}
 	}
 	if (!m_selectionIsDirty)
 	{
@@ -437,11 +447,20 @@
 
 void SMCellStyle::slotFillShade()
 {
-	// TODO: Handle inheritance as well.
-	double fillShade = m_page->fillShade_->getValue();
-	foreach (CellStyle *cellStyle, m_selection)
-	{
-		cellStyle->setFillShade(fillShade);
+	if (m_page->fillShade_->useParentValue())
+	{
+		for (int i = 0; i < m_selection.count(); ++i)
+		{
+			m_selection[i]->resetFillShade();
+		}
+	}
+	else
+	{
+		int fs = m_page->fillShade_->getValue();
+		for (int i = 0; i < m_selection.count(); ++i)
+		{
+			m_selection[i]->setFillShade(fs);
+		}
 	}
 	if (!m_selectionIsDirty)
 	{
@@ -449,3 +468,45 @@
 		emit selectionDirty();
 	}
 }
+
+void SMCellStyle::slotParentChanged(const QString &parent)
+{
+	Q_ASSERT(!parent.isNull());
+
+	bool  loop = false, parentLoop = false;
+	const Style* parentStyle = (!parent.isEmpty()) ? m_cachedStyles.resolve(parent) : NULL;
+	QStringList  sel;
+
+	for (int i = 0; i < m_selection.count(); ++i)
+	{
+		loop = false;
+		// Check if setting parent won't create a loop
+		const Style* pStyle = parentStyle;
+		while (pStyle)
+		{
+			if (pStyle->hasParent() && (pStyle->parent() == m_selection[i]->name()))
+			{
+				loop = parentLoop = true;
+				break;
+			}
+			pStyle = pStyle->hasParent() ? pStyle->parentStyle() : NULL;
+		}
+		if (!loop)
+		{
+			m_selection[i]->erase();
+			m_selection[i]->setParent(parent);
+		}
+		sel << m_selection[i]->name();
+	}
+
+	if (parentLoop)
+		QMessageBox::warning(this->widget(), CommonStrings::trWarning, tr("Setting that style as parent would create an infinite loop."), CommonStrings::tr_OK);
+
+	selected(sel);
+
+	if (!m_selectionIsDirty)
+	{
+		m_selectionIsDirty = true;
+		emit selectionDirty();
+	}
+}

Modified: trunk/Scribus/scribus/ui/smcellstyle.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smcellstyle.h
==============================================================================
--- trunk/Scribus/scribus/ui/smcellstyle.h (original)
+++ trunk/Scribus/scribus/ui/smcellstyle.h Mon Feb 27 21:06:44 2012
@@ -93,6 +93,7 @@
 private slots:
 	void slotFillColor();
 	void slotFillShade();
+	void slotParentChanged(const QString &parent);
 };
 
 #endif // SMCELLSTYLES_H

Modified: trunk/Scribus/scribus/ui/smcellstylewidget.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smcellstylewidget.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/smcellstylewidget.cpp (original)
+++ trunk/Scribus/scribus/ui/smcellstylewidget.cpp Mon Feb 27 21:06:44 2012
@@ -24,26 +24,113 @@
 {
 }
 
+void SMCellStyleWidget::changeEvent(QEvent *e)
+{
+	if (e->type() == QEvent::LanguageChange)
+	{
+		languageChange();
+	}
+	else
+		QWidget::changeEvent(e);
+}
+
 
 void SMCellStyleWidget::show(CellStyle *cellStyle, QList<CellStyle> &cellStyles, const QString &defLang, int unitIndex)
 {
 	Q_ASSERT(cellStyle);
 	if (!cellStyle)
 		return;
+	parentCombo->setEnabled(!cellStyle->isDefaultStyle());
+	const CellStyle *parent = dynamic_cast<const CellStyle*>(cellStyle->parentStyle());
+	bool hasParent =  cellStyle->hasParent() && parent != 0 && parent->hasName() && cellStyle->parent() != "";
+	if (hasParent)
+	{
+		fillColor->setCurrentText(cellStyle->fillColor(), cellStyle->isInhFillColor());
+		fillColor->setParentText(parent->fillColor());
+		fillShade_->setValue(qRound(cellStyle->fillShade()), cellStyle->isInhFillShade());
+		fillShade_->setParentValue(qRound(parent->fillShade()));
+	}
+	else
+	{
+		fillColor->setCurrentText(cellStyle->fillColor());
+		fillShade_->setValue(qRound(cellStyle->fillShade()));
+	}
+	parentCombo->clear();
+	parentCombo->addItem( cellStyle->isDefaultStyle()? tr("A default style cannot be assigned a parent style") : "");
+	if (!cellStyle->isDefaultStyle())
+	{
+		for (int i = 0; i < cellStyles.count(); ++i)
+		{
+			if (cellStyles[i].name() != cellStyle->name())
+				parentCombo->addItem(cellStyles[i].name());
+		}
+	}
 
-	// TODO: Handle parent styles (and language?)
-
-	fillColor->setCurrentText(cellStyle->fillColor());
-	fillShade_->setValue(qRound(cellStyle->fillShade()));
+	if (cellStyle->isDefaultStyle() || !hasParent)
+		parentCombo->setCurrentIndex(0);
+	else if (hasParent)
+	{
+		int index = 0;
+		for (int i = 0; i < parentCombo->count(); ++i)
+		{
+			if (parentCombo->itemText(i) == cellStyle->parentStyle()->name())
+			{
+				index = i;
+				break;
+			}
+		}
+		parentCombo->setCurrentIndex(index);
+	}
 }
 
 void SMCellStyleWidget::show(QList<CellStyle*> &cellStyles, QList<CellStyle> &cellStylesAll, const QString &defaultLanguage, int unitIndex)
 {
-	if (cellStyles.count() == 1) {
+	if (cellStyles.count() == 1)
 		show(cellStyles[0], cellStylesAll, defaultLanguage, unitIndex);
+	else if (cellStyles.count() > 1)
+	{
+		showColors(cellStyles);
+		parentCombo->setEnabled(false);
 	}
+}
 
-	// TODO: Implement actual support multiple styles.
+void SMCellStyleWidget::showColors(const QList<CellStyle*> &cellStyles)
+{
+	double d = -30000;
+	for (int i = 0; i < cellStyles.count(); ++i)
+	{
+		if (d != -30000 && cellStyles[i]->fillShade() != d)
+		{
+			d = -30000;
+			break;
+		}
+		else
+			d = cellStyles[i]->fillShade();
+	}
+	if (d == -30000)
+		fillShade_->setText( tr("Shade"));
+	else
+		fillShade_->setValue(qRound(d));
+	QString s;
+	QString emptyString;
+	for (int i = 0; i < cellStyles.count(); ++i)
+	{
+		if (!s.isNull() && s != cellStyles[i]->fillColor())
+		{
+			s = emptyString;
+			break;
+		}
+		else
+			s = cellStyles[i]->fillColor();
+	}
+	if (s.isEmpty())
+	{
+		if (fillColor->itemText(fillColor->count() - 1) != "")
+			fillColor->addItem("");
+		fillColor->setCurrentIndex(fillColor->count() - 1);
+	}
+	else
+		fillColor->setCurrentText(s);
 }
 
 void SMCellStyleWidget::languageChange()

Modified: trunk/Scribus/scribus/ui/smcellstylewidget.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smcellstylewidget.h
==============================================================================
--- trunk/Scribus/scribus/ui/smcellstylewidget.h (original)
+++ trunk/Scribus/scribus/ui/smcellstylewidget.h Mon Feb 27 21:06:44 2012
@@ -28,6 +28,7 @@
 	SMCellStyleWidget(QWidget *parent = 0);
 	/// Destructor.
 	~SMCellStyleWidget();
+	virtual void changeEvent(QEvent *e);
 
 	/**
 	 * Shows attributes for a single cell style.
@@ -62,6 +63,7 @@
 	 * @param colors list of colors to populate the combo with.
 	 */
 	void fillFillColorCombo(ColorList &colors);
+	void showColors(const QList<CellStyle*> &cellStyles);
 };
 
 #endif // SMCELLSTYLEWIDGET_H

Modified: trunk/Scribus/scribus/ui/smcellstylewidget.ui
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smcellstylewidget.ui
==============================================================================
--- trunk/Scribus/scribus/ui/smcellstylewidget.ui (original)
+++ trunk/Scribus/scribus/ui/smcellstylewidget.ui Mon Feb 27 21:06:44 2012
@@ -11,6 +11,27 @@
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QLabel" name="parentLabel">
+       <property name="text">
+        <string>Based On:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QComboBox" name="parentCombo">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
    <item>
     <widget class="QGroupBox" name="smColorGroup">
      <property name="title">

Modified: trunk/Scribus/scribus/ui/smtablestyle.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smtablestyle.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/smtablestyle.cpp (original)
+++ trunk/Scribus/scribus/ui/smtablestyle.cpp Mon Feb 27 21:06:44 2012
@@ -8,6 +8,7 @@
 */
 
 #include <QTabWidget>
+#include <QMessageBox>
 
 #include "prefsmanager.h"
 #include "smtablestyle.h"
@@ -412,6 +413,7 @@
 		return;
 	connect(m_page->fillColor, SIGNAL(activated(const QString&)), this, SLOT(slotFillColor()));
 	connect(m_page->fillShade_, SIGNAL(clicked()), this, SLOT(slotFillShade()));
+	connect(m_page->parentCombo, SIGNAL(activated(const QString&)), this, SLOT(slotParentChanged(const QString&)));
 }
 
 void SMTableStyle::removeConnections()
@@ -420,17 +422,24 @@
 		return;
 	disconnect(m_page->fillColor, SIGNAL(activated(const QString&)), this, SLOT(slotFillColor()));
 	disconnect(m_page->fillShade_, SIGNAL(clicked()), this, SLOT(slotFillShade()));
+	disconnect(m_page->parentCombo, SIGNAL(activated(const QString&)), this, SLOT(slotParentChanged(const QString&)));
 }
 
 void SMTableStyle::slotFillColor()
 {
-	// TODO: Handle inheritance as well.
-	QString fillColor(m_page->fillColor->currentText());
-	foreach (TableStyle *tableStyle, m_selection)
-	{
-		tableStyle->setFillColor(fillColor);
-	}
-
+	if (m_page->fillColor->useParentValue())
+	{
+		for (int i = 0; i < m_selection.count(); ++i)
+			m_selection[i]->resetFillColor();
+	}
+	else
+	{
+		QString col(m_page->fillColor->currentText());
+		for (int i = 0; i < m_selection.count(); ++i)
+		{
+			m_selection[i]->setFillColor(col);
+		}
+	}
 	if (!m_selectionIsDirty)
 	{
 		m_selectionIsDirty = true;
@@ -440,16 +449,66 @@
 
 void SMTableStyle::slotFillShade()
 {
-	// TODO: Handle inheritance as well.
-	double fillShade = m_page->fillShade_->getValue();
-	foreach (TableStyle *tableStyle, m_selection)
-	{
-		tableStyle->setFillShade(fillShade);
-	}
-
+	if (m_page->fillShade_->useParentValue())
+	{
+		for (int i = 0; i < m_selection.count(); ++i)
+		{
+			m_selection[i]->resetFillShade();
+		}
+	}
+	else
+	{
+		int fs = m_page->fillShade_->getValue();
+		for (int i = 0; i < m_selection.count(); ++i)
+		{
+			m_selection[i]->setFillShade(fs);
+		}
+	}
 	if (!m_selectionIsDirty)
 	{
 		m_selectionIsDirty = true;
 		emit selectionDirty();
 	}
 }
+
+void SMTableStyle::slotParentChanged(const QString &parent)
+{
+	Q_ASSERT(!parent.isNull());
+
+	bool  loop = false, parentLoop = false;
+	const Style* parentStyle = (!parent.isEmpty()) ? m_cachedStyles.resolve(parent) : NULL;
+	QStringList  sel;
+
+	for (int i = 0; i < m_selection.count(); ++i)
+	{
+		loop = false;
+		// Check if setting parent won't create a loop
+		const Style* pStyle = parentStyle;
+		while (pStyle)
+		{
+			if (pStyle->hasParent() && (pStyle->parent() == m_selection[i]->name()))
+			{
+				loop = parentLoop = true;
+				break;
+			}
+			pStyle = pStyle->hasParent() ? pStyle->parentStyle() : NULL;
+		}
+		if (!loop)
+		{
+			m_selection[i]->erase();
+			m_selection[i]->setParent(parent);
+		}
+		sel << m_selection[i]->name();
+	}
+
+	if (parentLoop)
+		QMessageBox::warning(this->widget(), CommonStrings::trWarning, tr("Setting that style as parent would create an infinite loop."), CommonStrings::tr_OK);
+
+	selected(sel);
+
+	if (!m_selectionIsDirty)
+	{
+		m_selectionIsDirty = true;
+		emit selectionDirty();
+	}
+}

Modified: trunk/Scribus/scribus/ui/smtablestyle.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smtablestyle.h
==============================================================================
--- trunk/Scribus/scribus/ui/smtablestyle.h (original)
+++ trunk/Scribus/scribus/ui/smtablestyle.h Mon Feb 27 21:06:44 2012
@@ -93,6 +93,7 @@
 private slots:
 	void slotFillColor();
 	void slotFillShade();
+	void slotParentChanged(const QString &parent);
 };
 
 #endif // SMTABLESTYLES_H

Modified: trunk/Scribus/scribus/ui/smtablestylewidget.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smtablestylewidget.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/smtablestylewidget.cpp (original)
+++ trunk/Scribus/scribus/ui/smtablestylewidget.cpp Mon Feb 27 21:06:44 2012
@@ -23,26 +23,112 @@
 {
 }
 
+void SMTableStyleWidget::changeEvent(QEvent *e)
+{
+	if (e->type() == QEvent::LanguageChange)
+	{
+		languageChange();
+	}
+	else
+		QWidget::changeEvent(e);
+}
 
 void SMTableStyleWidget::show(TableStyle *tableStyle, QList<TableStyle> &tableStyles, const QString &defLang, int unitIndex)
 {
 	Q_ASSERT(tableStyle);
 	if (!tableStyle)
 		return;
+	parentCombo->setEnabled(!tableStyle->isDefaultStyle());
+	const TableStyle *parent = dynamic_cast<const TableStyle*>(tableStyle->parentStyle());
+	bool hasParent =  tableStyle->hasParent() && parent != 0 && parent->hasName() && tableStyle->parent() != "";
+	if (hasParent)
+	{
+		fillColor->setCurrentText(tableStyle->fillColor(), tableStyle->isInhFillColor());
+		fillColor->setParentText(parent->fillColor());
+		fillShade_->setValue(qRound(tableStyle->fillShade()), tableStyle->isInhFillShade());
+		fillShade_->setParentValue(qRound(parent->fillShade()));
+	}
+	else
+	{
+		fillColor->setCurrentText(tableStyle->fillColor());
+		fillShade_->setValue(qRound(tableStyle->fillShade()));
+	}
+	parentCombo->clear();
+	parentCombo->addItem( tableStyle->isDefaultStyle()? tr("A default style cannot be assigned a parent style") : "");
+	if (!tableStyle->isDefaultStyle())
+	{
+		for (int i = 0; i < tableStyles.count(); ++i)
+		{
+			if (tableStyles[i].name() != tableStyle->name())
+				parentCombo->addItem(tableStyles[i].name());
+		}
+	}
 
-	// TODO: Handle parent styles (and language?)
-
-	fillColor->setCurrentText(tableStyle->fillColor());
-	fillShade_->setValue(qRound(tableStyle->fillShade()));
+	if (tableStyle->isDefaultStyle() || !hasParent)
+		parentCombo->setCurrentIndex(0);
+	else if (hasParent)
+	{
+		int index = 0;
+		for (int i = 0; i < parentCombo->count(); ++i)
+		{
+			if (parentCombo->itemText(i) == tableStyle->parentStyle()->name())
+			{
+				index = i;
+				break;
+			}
+		}
+		parentCombo->setCurrentIndex(index);
+	}
 }
 
 void SMTableStyleWidget::show(QList<TableStyle*> &tableStyles, QList<TableStyle> &tableStylesAll, const QString &defaultLanguage, int unitIndex)
 {
-	if (tableStyles.count() == 1) {
+	if (tableStyles.count() == 1)
 		show(tableStyles[0], tableStylesAll, defaultLanguage, unitIndex);
+	else if (tableStyles.count() > 1)
+	{
+		showColors(tableStyles);
+		parentCombo->setEnabled(false);
 	}
+}
 
-	// TODO: Implement actual support multiple styles.
+void SMTableStyleWidget::showColors(const QList<TableStyle*> &tableStyles)
+{
+	double d = -30000;
+	for (int i = 0; i < tableStyles.count(); ++i)
+	{
+		if (d != -30000 && tableStyles[i]->fillShade() != d)
+		{
+			d = -30000;
+			break;
+		}
+		else
+			d = tableStyles[i]->fillShade();
+	}
+	if (d == -30000)
+		fillShade_->setText( tr("Shade"));
+	else
+		fillShade_->setValue(qRound(d));
+	QString s;
+	QString emptyString;
+	for (int i = 0; i < tableStyles.count(); ++i)
+	{
+		if (!s.isNull() && s != tableStyles[i]->fillColor())
+		{
+			s = emptyString;
+			break;
+		}
+		else
+			s = tableStyles[i]->fillColor();
+	}
+	if (s.isEmpty())
+	{
+		if (fillColor->itemText(fillColor->count() - 1) != "")
+			fillColor->addItem("");
+		fillColor->setCurrentIndex(fillColor->count() - 1);
+	}
+	else
+		fillColor->setCurrentText(s);
 }
 
 void SMTableStyleWidget::languageChange()

Modified: trunk/Scribus/scribus/ui/smtablestylewidget.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smtablestylewidget.h
==============================================================================
--- trunk/Scribus/scribus/ui/smtablestylewidget.h (original)
+++ trunk/Scribus/scribus/ui/smtablestylewidget.h Mon Feb 27 21:06:44 2012
@@ -28,6 +28,7 @@
 	SMTableStyleWidget(QWidget *parent = 0);
 	/// Destructor.
 	~SMTableStyleWidget();
+	virtual void changeEvent(QEvent *e);
 
 	/**
 	 * Shows attributes for a single table style.
@@ -62,6 +63,7 @@
 	 * @param colors list of colors to populate the combo with.
 	 */
 	void fillFillColorCombo(ColorList &colors);
+	void showColors(const QList<TableStyle*> &tableStyles);
 };
 
 #endif // SMTABLESTYLEWIDGET_H

Modified: trunk/Scribus/scribus/ui/smtablestylewidget.ui
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=17345&path=/trunk/Scribus/scribus/ui/smtablestylewidget.ui
==============================================================================
--- trunk/Scribus/scribus/ui/smtablestylewidget.ui (original)
+++ trunk/Scribus/scribus/ui/smtablestylewidget.ui Mon Feb 27 21:06:44 2012
@@ -10,7 +10,28 @@
     <height>478</height>
    </rect>
   </property>
-  <layout class="QVBoxLayout">
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_2">
+     <item>
+      <widget class="QLabel" name="parentLabel">
+       <property name="text">
+        <string>Based On:</string>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QComboBox" name="parentCombo">
+       <property name="sizePolicy">
+        <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+         <horstretch>0</horstretch>
+         <verstretch>0</verstretch>
+        </sizepolicy>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
    <item>
     <widget class="QGroupBox" name="smColorGroup">
      <property name="title">
@@ -67,24 +88,24 @@
         </item>
        </layout>
       </item>
-      <item>
-       <spacer>
-        <property name="orientation">
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::MinimumExpanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>72</width>
-          <height>0</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
      </layout>
     </widget>
+   </item>
+   <item>
+    <spacer>
+     <property name="orientation">
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeType">
+      <enum>QSizePolicy::MinimumExpanding</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>72</width>
+       <height>356</height>
+      </size>
+     </property>
+    </spacer>
    </item>
   </layout>
  </widget>




More information about the scribus-commit mailing list