r23309 by craig - Apply patch for shape and group tabs. Ale

scribus-commit scribus-commit at lists.scribus.net
Fri Nov 1 12:05:38 UTC 2019


Author: craig
Date: Fri Nov  1 12:05:38 2019
New Revision: 23309

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=23309
Log:
Apply patch for shape and group tabs. Ale

Added:
    trunk/Scribus/resources/iconsets/1_5_1/fill-rule-even-odd.png   (with props)
    trunk/Scribus/resources/iconsets/1_5_1/fill-rule-nonzero.png   (with props)
    trunk/Scribus/resources/iconsets/1_5_1/round-corners.png   (with props)
Modified:
    trunk/Scribus/scribus/scribusdoc.cpp
    trunk/Scribus/scribus/ui/propertiespalette.cpp
    trunk/Scribus/scribus/ui/propertiespalette_group.cpp
    trunk/Scribus/scribus/ui/propertiespalette_group.h
    trunk/Scribus/scribus/ui/propertiespalette_groupbase.ui
    trunk/Scribus/scribus/ui/propertiespalette_shape.cpp
    trunk/Scribus/scribus/ui/propertiespalette_shapebase.ui
    trunk/Scribus/scribus/ui/transparencypalette.cpp
    trunk/Scribus/scribus/ui/transparencypalette.h

Modified: trunk/Scribus/scribus/scribusdoc.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/scribusdoc.cpp
==============================================================================
--- trunk/Scribus/scribus/scribusdoc.cpp	(original)
+++ trunk/Scribus/scribus/scribusdoc.cpp	Fri Nov  1 12:05:38 2019
@@ -11515,9 +11515,9 @@
 	for (int i = 0; i < selectedItemCount; ++i)
 	{
 		PageItem *currItem = itemSelection->itemAt(i);
+		currItem->setFillTransparency(t);
 		if (currItem->isGroup())
-			continue;
-		currItem->setFillTransparency(t);
+			currItem->update(); // FIXME: not sure this is needed
 	}
 	regionsChanged()->update(QRectF());
 	changed();

Modified: trunk/Scribus/scribus/ui/propertiespalette.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/propertiespalette.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette.cpp	(original)
+++ trunk/Scribus/scribus/ui/propertiespalette.cpp	Fri Nov  1 12:05:38 2019
@@ -48,6 +48,7 @@
 #include "propertiespalette_table.h"
 #include "propertiespalette_utils.h"
 #include "propertiespalette_xyz.h"
+#include "transparencypalette.h"
 #include "scribus.h"
 #include "scribusview.h"
 #include "selection.h"
@@ -100,8 +101,6 @@
 	languageChange();
 
 	connect(linePal, SIGNAL(lineModeChanged(int)), this, SLOT(NewLineMode(int)));
-	connect(groupPal, SIGNAL(shapeChanged(int)) , this, SLOT(handleNewShape(int)));
-	connect(groupPal, SIGNAL(shapeEditStarted()), this, SLOT(handleShapeEdit()));
 	connect(TabStack, SIGNAL(currentChanged2(int)), this, SLOT(SelTab(int)));
 
 	connect(colorPalette, SIGNAL(NewSpecial(double,double,double,double,double,double,double,double,double,double)), this, SLOT(NewSpGradient(double,double,double,double,double,double,double,double,double,double )));
@@ -286,7 +285,6 @@
 	if (!m_ScMW || m_ScMW->scriptIsRunning() || !m_haveItem)
 		return;
 	shapePal->showTextFlowMode(mode);
-	groupPal->showTextFlowMode(mode);
 }
 
 PageItem* PropertiesPalette::currentItemFromSelection()
@@ -354,10 +352,11 @@
 	{
 		TabStack->setItemEnabled(idXYZItem, true);
 		TabStack->setItemEnabled(idShadowItem, true);
-		TabStack->setItemEnabled(idShapeItem, false);
+		TabStack->setItemEnabled(idShapeItem, true);
 		TabStack->setItemEnabled(idGroupItem, true);
 		TabStack->setItemEnabled(idLineItem, false);
 		TabStack->setItemEnabled(idColorsItem, false);
+		TabStack->setItemEnabled(idTransparencyItem, true);
 		TabStack->setItemEnabled(idTableItem, false);
 	}
 	else
@@ -409,7 +408,7 @@
 	connect(TabStack, SIGNAL(currentChanged2(int)), this, SLOT(SelTab(int)));
 }
 
-void  PropertiesPalette::handleSelectionChanged()
+void PropertiesPalette::handleSelectionChanged()
 {
 	if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning())
 		return;
@@ -509,7 +508,7 @@
 		case PageItem::Symbol:
 		case PageItem::Group:
 			TabStack->setItemEnabled(idShadowItem, true);
-			TabStack->setItemEnabled(idShapeItem, false);
+			TabStack->setItemEnabled(idShapeItem, true);
 			TabStack->setItemEnabled(idLineItem, false);
 			TabStack->setItemEnabled(idGroupItem, true);
 			TabStack->setItemEnabled(idColorsItem, false);
@@ -522,7 +521,7 @@
 			TabStack->setItemEnabled(idLineItem, false);
 			TabStack->setItemEnabled(idGroupItem, false);
 			TabStack->setItemEnabled(idColorsItem, false);
-			TabStack->setItemEnabled(idTransparencyItem, false);
+			TabStack->setItemEnabled(idTransparencyItem, true);
 			break;
 		}
 	}
@@ -780,7 +779,6 @@
 	if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning())
 		return;
 
-	groupPal->updateColorList();
 	tablePal->updateColorList();
 	colorPalette->updateColorList();
 	transparencyPalette->updateColorList();
@@ -842,8 +840,6 @@
 		return;
 	if(m_doc->m_Selection->isEmpty())
 		return;
-
-	groupPal->updateColorSpecialGradient();
 
 	PageItem *currItem=m_doc->m_Selection->itemAt(0);
 	if (currItem)
@@ -862,7 +858,7 @@
 			colorPalette->setMeshPatchPoint();
 		else if (m_ScMW->view->editStrokeGradient == 9)
 			colorPalette->setMeshPatch();
-		else if (!currItem->isGroup())
+		else if (currItem->isGroup())
 			transparencyPalette->setSpecialGradient(currItem->GrMaskStartX, currItem->GrMaskStartY, currItem->GrMaskEndX, currItem->GrMaskEndY, currItem->GrMaskFocalX, currItem->GrMaskFocalY, currItem->GrMaskScale, currItem->GrMaskSkew);
 	}
 }

Modified: trunk/Scribus/scribus/ui/propertiespalette_group.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/propertiespalette_group.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_group.cpp	(original)
+++ trunk/Scribus/scribus/ui/propertiespalette_group.cpp	Fri Nov  1 12:05:38 2019
@@ -61,7 +61,6 @@
 #include "ui/propertiespalette.h"
 #include "ui/propertiespalette_utils.h"
 #include "ui/propertiespalette_xyz.h"
-#include "ui/transparencypalette.h"
 #include "undomanager.h"
 #include "units.h"
 #include "util.h"
@@ -69,65 +68,32 @@
 
 
 
-PropertiesPalette_Group::PropertiesPalette_Group( QWidget* parent) : QWidget(parent)
-{
-	m_ScMW = nullptr;
-	m_doc  = nullptr;
-	m_item = nullptr;
-	m_haveDoc   = false;
-	m_haveItem  = false;
-	m_unitIndex = 0;
-	m_unitRatio = 1.0;
-	m_userActionOn = false;
-
+PropertiesPalette_Group::PropertiesPalette_Group( QWidget* parent)
+	: QWidget(parent),
+	  m_haveDoc(false),
+	  m_haveItem(false),
+	  m_unitRatio(1.0),
+	  m_unitIndex(SC_PT),
+	  m_item(nullptr),
+	  m_doc(nullptr)
+{
 	m_tmpSelection = new Selection(this, false);
 	m_tmpSelection->clear();
 
 	setupUi(this);
 	setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
 
-	textFlowDisabled->setIcon(IconManager::instance().loadIcon("flow-none.png"));
-	textFlowUsesFrameShape->setIcon(IconManager::instance().loadIcon("flow-frame.png"));
-	textFlowUsesBoundingBox->setIcon(IconManager::instance().loadIcon("flow-bounding.png"));
-	textFlowUsesContourLine->setIcon(IconManager::instance().loadIcon("flow-contour.png"));
-	textFlowUsesImageClipping->setIcon(IconManager::instance().loadIcon("flow-contour.png"));
-
-	textFlowDisabled->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
-	textFlowUsesFrameShape->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
-	textFlowUsesBoundingBox->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
-	textFlowUsesContourLine->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
-	textFlowUsesImageClipping->setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
-
-	transPalWidget->hideSelectionButtons();
-
 	languageChange();
 
-	connect(textFlowBtnGroup, SIGNAL(buttonClicked(int)), this, SLOT(handleTextFlow()));
-
-	connect(customShape  , SIGNAL(FormSel(int, int, qreal *)), this, SLOT(handleNewShape(int, int, qreal *)));
-	connect(editShape    , SIGNAL(clicked())                 , this, SLOT(handleShapeEdit()));
-	connect(evenOdd      , SIGNAL(clicked())                 , this, SLOT(handleFillRule()) );
-	connect(nonZero      , SIGNAL(clicked())                 , this, SLOT(handleFillRule()) );
 	connect(clipGroups   , SIGNAL(clicked())                 , this, SLOT(handleClipping()) );
-	connect(transPalWidget , SIGNAL(editGradient())          , this, SLOT(handleGradientEdit()));
-	connect(transPalWidget , SIGNAL(NewSpecial(double, double, double, double, double, double, double, double, double, double)), this, SLOT(handleSpecialGradient(double, double, double, double, double, double, double, double )));
 }
 
 PageItem* PropertiesPalette_Group::currentItemFromSelection()
 {
 	PageItem *currentItem = nullptr;
 
-	if (m_doc)
-	{
-		if (m_doc->m_Selection->count() > 1)
-		{
-			currentItem = m_doc->m_Selection->itemAt(0);
-		}
-		else if (m_doc->m_Selection->count() == 1)
-		{
-			currentItem = m_doc->m_Selection->itemAt(0);
-		}
-	}
+	if (m_doc && m_doc->m_Selection->count()>0)
+		currentItem = m_doc->m_Selection->itemAt(0);
 
 	return currentItem;
 }
@@ -136,7 +102,6 @@
 {
 	m_ScMW = mw;
 
-	connect(this->transPalWidget, SIGNAL(gradientChanged()), this, SLOT(handleGradientChanged()));
 	connect(m_ScMW, SIGNAL(UpdateRequest(int)), this, SLOT(handleUpdateRequest(int)));
 }
 
@@ -151,28 +116,13 @@
 		disconnect(m_doc             , SIGNAL(docChanged())      , this, SLOT(handleSelectionChanged()));
 	}
 	
-	this->transPalWidget->disconnect(SIGNAL(NewTrans(double)));
-	this->transPalWidget->disconnect(SIGNAL(NewBlend(int)));
-	this->transPalWidget->disconnect(SIGNAL(NewGradient(int)));
-	this->transPalWidget->disconnect(SIGNAL(NewPattern(QString)));
-	this->transPalWidget->disconnect(SIGNAL(NewPatternProps(double, double, double, double, double, double, double, bool, bool)));
-
 	m_doc  = d;
 	m_item = nullptr;
 	m_unitRatio   = m_doc->unitRatio();
 	m_unitIndex   = m_doc->unitIndex();
 
-	transPalWidget->setDocument(m_doc);
-	transPalWidget->setCurrentItem(nullptr);
-
 	m_haveDoc  = true;
 	m_haveItem = false;
-
-	connect(this->transPalWidget, SIGNAL(NewTrans(double))   , this, SLOT(handleGroupTransparency(double)));
-	connect(this->transPalWidget, SIGNAL(NewBlend(int))      , this, SLOT(handleGroupBlending(int)));
-	connect(this->transPalWidget, SIGNAL(NewGradient(int))   , this, SLOT(handleGroupGradMask(int)));
-	connect(this->transPalWidget, SIGNAL(NewPattern(QString)), this, SLOT(handleGroupPatternMask(QString)));
-	connect(this->transPalWidget, SIGNAL(NewPatternProps(double, double, double, double, double, double, double, bool, bool)), this, SLOT(handleGroupPatternMaskProps(double, double, double, double, double, double, double, bool, bool)));
 
 	connect(m_doc->m_Selection, SIGNAL(selectionChanged()), this, SLOT(handleSelectionChanged()));
 	connect(m_doc             , SIGNAL(docChanged())      , this, SLOT(handleSelectionChanged()));
@@ -191,9 +141,6 @@
 	m_doc   = nullptr;
 	m_item  = nullptr;
 
-	transPalWidget->setDocument(nullptr);
-	transPalWidget->setCurrentItem(nullptr);
-
 	setEnabled(false);
 }
 
@@ -201,7 +148,6 @@
 {
 	m_haveItem = false;
 	m_item     = nullptr;
-	transPalWidget->setCurrentItem(nullptr);
 	handleSelectionChanged();
 }
 
@@ -226,47 +172,18 @@
 		int itemType = currItem ? (int) currItem->itemType() : -1;
 		m_haveItem = (itemType != -1);
 
-		switch (itemType)
-		{
-		case -1:
-			setEnabled(false);
-			break;
-		case PageItem::ImageFrame:
-		case PageItem::LatexFrame:
-		case PageItem::OSGFrame:
-			if (currItem->asOSGFrame())
-			{
-				setEnabled(false);
-			}
-			break;
-		case PageItem::Arc:
-		case PageItem::TextFrame:
-		case PageItem::Line:
-		case PageItem::ItemType1:
-		case PageItem::ItemType3:
-		case PageItem::Polygon:
-		case PageItem::PolyLine:
-		case PageItem::PathText:
-		case PageItem::RegularPolygon:
-			setEnabled(false);
-			break;
-		case PageItem::Symbol:
+		if (itemType == PageItem::Symbol)
 			setEnabled(true);
-			break;
-		}
 	}
 	if (currItem)
 	{
 		setCurrentItem(currItem);
 	}
 	updateGeometry();
-	//repaint();
 }
 
 void PropertiesPalette_Group::handleUpdateRequest(int updateFlags)
 {
-	if (updateFlags & reqColorsUpdate)
-		updateColorList();
 }
 
 void PropertiesPalette_Group::setCurrentItem(PageItem *item)
@@ -286,290 +203,14 @@
 	m_haveItem = false;
 	m_item = item;
 
-	bool   mirrorX, mirrorY;
-	double patternScaleX, patternScaleY, patternOffsetX, patternOffsetY, patternRotation, patternSkewX, patternSkewY;
-	m_item->patternTransform(patternScaleX, patternScaleY, patternOffsetX, patternOffsetY, patternRotation, patternSkewX, patternSkewY);
-	m_item->patternFlip(mirrorX, mirrorY);
-
-	transPalWidget->setCurrentItem(m_item);
-	nonZero->setChecked(!m_item->fillRule);
-	evenOdd->setChecked(m_item->fillRule);
 	clipGroups->setChecked(m_item->groupClipping());
 
-	if ((m_item->isGroup()) && (!m_item->isSingleSel))
-	{
+	if (((m_item->isGroup()) && (!m_item->isSingleSel)) || m_item->asSymbolFrame())
 		setEnabled(true);
-		if (m_item->FrameType == 0)
-			customShape->setIcon(customShape->getIconPixmap(0));
-		if (m_item->FrameType == 1)
-			customShape->setIcon(customShape->getIconPixmap(1));
-		if (m_item->FrameType > 3)
-			customShape->setIcon(customShape->getIconPixmap(m_item->FrameType-2));
-		transPalWidget->updateFromItem();
-		transPalWidget->setActPattern(m_item->patternMask(), patternScaleX, patternScaleY, patternOffsetX, patternOffsetY, patternRotation, patternSkewX, patternSkewY, mirrorX, mirrorY);
-		customShape->setEnabled(true);
-		editShape->setEnabled(true);
-		shapeGroup->setEnabled(true);
-		textFlowDisabled->setEnabled(true);
-		textFlowUsesFrameShape->setEnabled(true);
-		textFlowUsesBoundingBox->setEnabled(true);
-		textFlowUsesContourLine->setEnabled(true);
-		textFlowUsesImageClipping->setEnabled(false);
-	}
 	else
-	{
 		setEnabled(false);
-	}
 
 	m_haveItem = true;
-
-	if (m_item->asOSGFrame())
-	{
-		setEnabled(false);
-	}
-	if (m_item->asSymbolFrame())
-	{
-		setEnabled(true);
-		if (m_item->FrameType == 0)
-			customShape->setIcon(customShape->getIconPixmap(0));
-		if (m_item->FrameType == 1)
-			customShape->setIcon(customShape->getIconPixmap(1));
-		if (m_item->FrameType > 3)
-			customShape->setIcon(customShape->getIconPixmap(m_item->FrameType-2));
-		transPalWidget->updateFromItem();
-		transPalWidget->setActPattern(m_item->patternMask(), patternScaleX, patternScaleY, patternOffsetX, patternOffsetY, patternRotation, patternSkewX, patternSkewY, mirrorX, mirrorY);
-		customShape->setEnabled(true);
-		editShape->setEnabled(true);
-		shapeGroup->setEnabled(true);
-		textFlowDisabled->setEnabled(true);
-		textFlowUsesFrameShape->setEnabled(true);
-		textFlowUsesBoundingBox->setEnabled(true);
-		textFlowUsesContourLine->setEnabled(true);
-		textFlowUsesImageClipping->setEnabled(false);
-	}
-	showTextFlowMode(m_item->textFlowMode());
-}
-
-void PropertiesPalette_Group::showTextFlowMode(PageItem::TextFlowMode mode)
-{
-	if (!m_ScMW || m_ScMW->scriptIsRunning() || !m_haveItem)
-		return;
-	if (!m_item->isGroup())
-		return;
-	if (mode == PageItem::TextFlowDisabled)
-		textFlowDisabled->setChecked(true);
-	else if (mode == PageItem::TextFlowUsesFrameShape)
-		textFlowUsesFrameShape->setChecked(true);
-	else if (mode == PageItem::TextFlowUsesBoundingBox)
-		textFlowUsesBoundingBox->setChecked(true);
-	else if (mode == PageItem::TextFlowUsesContourLine)
-		textFlowUsesContourLine->setChecked(true);
-	else if (mode == PageItem::TextFlowUsesImageClipping)
-		textFlowUsesImageClipping->setChecked(true);
-	if ((m_item->asImageFrame()) && (!m_item->imageClip.empty()))
-		textFlowUsesImageClipping->setEnabled(true);
-	else
-		textFlowUsesImageClipping->setEnabled(false);
-}
-
-void PropertiesPalette_Group::updateColorList()
-{
-	if (!m_haveDoc || !m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	transPalWidget->updateColorList();
-}
-
-void PropertiesPalette_Group::updateColorSpecialGradient()
-{
-	if (!m_haveDoc)
-		return;
-	if(m_doc->m_Selection->isEmpty())
-		return;
-	PageItem *currItem = m_doc->m_Selection->itemAt(0);
-	if (currItem)
-	{
-		switch (m_ScMW->view->editStrokeGradient)
-		{
-		case 0:
-		case 1:
-		case 3:
-		case 4:
-		case 5:
-		case 6:
-		case 7:
-			break;
-		default:
-			if (currItem->isGroup())
-				transPalWidget->setSpecialGradient(currItem->GrMaskStartX, currItem->GrMaskStartY, currItem->GrMaskEndX, currItem->GrMaskEndY, currItem->GrMaskFocalX, currItem->GrMaskFocalY, currItem->GrMaskScale, currItem->GrMaskSkew);
-		}
-	}
-}
-
-void PropertiesPalette_Group::handleGradientChanged()
-{
-	if (m_haveDoc)
-	{
-		VGradient vg(transPalWidget->gradEdit->gradient());
-		m_doc->itemSelection_SetMaskGradient(vg);
-	}
-}
-
-void PropertiesPalette_Group::handleGroupTransparency(double trans)
-{
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_item->setFillTransparency(trans);
-		m_item->update();
-	}
-}
-
-void PropertiesPalette_Group::handleGroupBlending(int blend)
-{
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_item->setFillBlendmode(blend);
-		m_item->update();
-	}
-}
-
-void PropertiesPalette_Group::handleGroupGradMask(int typ)
-{
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_item->GrMask = typ;
-		if ((typ > 0) && (typ < 7))
-			m_item->updateGradientVectors();
-		m_item->update();
-	}
-}
-
-void PropertiesPalette_Group::handleGroupPatternMask(const QString& pattern)
-{
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_item->setPatternMask(pattern);
-		m_item->update();
-	}
-}
-
-void PropertiesPalette_Group::handleGroupPatternMaskProps(double imageScaleX, double imageScaleY, double offsetX, double offsetY, double rotation, double skewX, double skewY, bool mirrorX, bool mirrorY)
-{
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_item->setMaskTransform(imageScaleX, imageScaleY, offsetX, offsetY, rotation, skewX, skewY);
-		m_item->setMaskFlip(mirrorX, mirrorY);
-		m_item->update();
-	}
-}
-
-void PropertiesPalette_Group::handleNewShape(int frameType, int count, qreal *points)
-{
-	if (!m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		if ((m_item->itemType() == PageItem::PolyLine) || (m_item->itemType() == PageItem::PathText))
-			return;
-
-		m_doc->item_setFrameShape(m_item, frameType, count, points);
-		m_doc->invalidateAll();
-		m_doc->regionsChanged()->update(QRect());
-
-		//ScribusDoc::changed() is called in item_setFrameShape()
-		//Hope this is enough
-		//emit DocChanged();
-		emit shapeChanged(frameType);
-	}
-}
-
-void PropertiesPalette_Group::handleTextFlow()
-{
-	if (!m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		PageItem::TextFlowMode mode = PageItem::TextFlowDisabled;
-		if (m_item->isGroup())
-		{
-			if (textFlowDisabled->isChecked())
-				mode = PageItem::TextFlowDisabled;
-			if (textFlowUsesFrameShape->isChecked())
-				mode = PageItem::TextFlowUsesFrameShape;
-			if (textFlowUsesBoundingBox->isChecked())
-				mode = PageItem::TextFlowUsesBoundingBox;
-			if (textFlowUsesContourLine->isChecked())
-				mode = PageItem::TextFlowUsesContourLine;
-			if (textFlowUsesImageClipping->isChecked())
-				mode = PageItem::TextFlowUsesImageClipping;
-		}
-		m_item->setTextFlowMode(mode);
-		m_doc->changed();
-		m_doc->invalidateAll();
-		m_doc->regionsChanged()->update(QRect());
-	}
-}
-
-void PropertiesPalette_Group::handleGradientEdit()
-{
-	if (!m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_ScMW->view->editStrokeGradient = 2;
-		if (transPalWidget->gradEditButton->isChecked())
-			m_ScMW->view->requestMode(modeEditGradientVectors);
-		else
-			m_ScMW->view->requestMode(modeNormal);
-	}
-}
-
-void PropertiesPalette_Group::handleSpecialGradient(double x1, double y1, double x2, double y2, double fx, double fy, double sg, double sk)
-{
-	if (!m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		QRectF upRect;
-		m_item->GrMaskStartX = x1 / m_unitRatio;
-		m_item->GrMaskStartY = y1 / m_unitRatio;
-		m_item->GrMaskEndX = x2 / m_unitRatio;
-		m_item->GrMaskEndY = y2 / m_unitRatio;
-		m_item->GrMaskFocalX = fx / m_unitRatio;
-		m_item->GrMaskFocalY = fy / m_unitRatio;
-		m_item->GrMaskScale = sg;
-		m_item->GrMaskSkew = sk;
-		if ((m_item->GrMask == 1) || (m_item->GrMask == 4))
-		{
-			m_item->GrMaskFocalX = m_item->GrMaskStartX;
-			m_item->GrMaskFocalY = m_item->GrMaskStartY;
-		}
-		m_item->update();
-		upRect = QRectF(QPointF(m_item->GrMaskStartX, m_item->GrMaskStartY), QPointF(m_item->GrMaskEndX, m_item->GrMaskEndY));
-		double radEnd = distance(m_item->GrMaskEndX - m_item->GrMaskStartX, m_item->GrMaskEndY - m_item->GrMaskStartY);
-		double rotEnd = xy2Deg(m_item->GrMaskEndX - m_item->GrMaskStartX, m_item->GrMaskEndY - m_item->GrMaskStartY);
-		QTransform m;
-		m.translate(m_item->GrMaskStartX, m_item->GrMaskStartY);
-		m.rotate(rotEnd);
-		m.rotate(-90);
-		m.rotate(m_item->GrMaskSkew);
-		m.translate(radEnd * m_item->GrMaskScale, 0);
-		QPointF shP = m.map(QPointF(0,0));
-		upRect |= QRectF(shP, QPointF(m_item->GrMaskEndX, m_item->GrMaskEndY)).normalized();
-		upRect |= QRectF(shP, QPointF(m_item->GrMaskStartX, m_item->GrMaskStartY)).normalized();
-		upRect |= QRectF(shP, QPointF(0, 0)).normalized();
-		upRect |= QRectF(shP, QPointF(m_item->width(), m_item->height())).normalized();
-		upRect.translate(m_item->xPos(), m_item->yPos());
-		m_doc->regionsChanged()->update(upRect.adjusted(-10.0, -10.0, 10.0, 10.0));
-		m_doc->changed();
-	}
-}
-
-void PropertiesPalette_Group::handleFillRule()
-{
-	if (!m_haveDoc || !m_haveItem || !m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	m_item->fillRule = evenOdd->isChecked();
-	m_item->update();
 }
 
 void PropertiesPalette_Group::handleClipping()
@@ -580,42 +221,6 @@
 	m_item->update();
 }
 
-void PropertiesPalette_Group::handleShapeEdit()
-{
-	if (!m_ScMW || m_ScMW->scriptIsRunning())
-		return;
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		m_tmpSelection->clear();
-		m_tmpSelection->copy(*m_doc->m_Selection, true);
-		m_doc->m_Selection->clear();
-		m_doc->m_Selection->addItem(m_item);
-		m_item->isSingleSel = true;
-		m_item->update();
-		m_ScMW->view->requestMode(modeEditClip);
-		m_ScMW->scrActions["itemUngroup"]->setEnabled(false);
-		connect(m_ScMW->nodePalette, SIGNAL(paletteClosed()), this, SLOT(handleShapeEditEnded()));
-		emit shapeEditStarted();
-	}
-}
-
-void PropertiesPalette_Group::handleShapeEditEnded()
-{
-	disconnect(m_ScMW->nodePalette, SIGNAL(paletteClosed()), this, SLOT(handleShapeEditEnded()));
-	if ((m_haveDoc) && (m_haveItem))
-	{
-		if (m_tmpSelection->count() > 0)
-		{
-			m_doc->m_Selection->copy(*m_tmpSelection, false);
-			m_doc->m_Selection->connectItemToGUI();
-		}
-		m_tmpSelection->clear();
-//		m_ScMW->propertiesPalette->setCurrentItem(m_doc->m_Selection->itemAt(0));
-//		m_ScMW->scrActions["itemGroup"]->setEnabled(true);
-//		m_ScMW->propertiesPalette->xyzPal->doUnGroup->setEnabled(true);
-	}
-}
-
 void PropertiesPalette_Group::changeEvent(QEvent *e)
 {
 	if (e->type() == QEvent::LanguageChange)
@@ -637,11 +242,6 @@
 	if (!m_doc)
 		return;
 
-	double oldRatio = m_unitRatio;
 	m_unitRatio = m_doc->unitRatio();
 	m_unitIndex = m_doc->unitIndex();
-
-	transPalWidget->blockSignals(true);
-	transPalWidget->unitChange(oldRatio, m_unitRatio, m_doc->unitIndex());
-	transPalWidget->blockSignals(false);
-}
+}

Modified: trunk/Scribus/scribus/ui/propertiespalette_group.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/propertiespalette_group.h
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_group.h	(original)
+++ trunk/Scribus/scribus/ui/propertiespalette_group.h	Fri Nov  1 12:05:38 2019
@@ -36,7 +36,6 @@
 
 	bool      m_haveDoc;
 	bool      m_haveItem;
-	bool      m_userActionOn;
 	double    m_unitRatio;
 	int       m_unitIndex;
 
@@ -64,28 +63,7 @@
 	void unitChange();
 
 private slots:
-
-	void handleGradientChanged();
-	void handleGroupTransparency(double trans);
-	void handleGroupBlending(int blend);
-	void handleGroupGradMask(int typ);
-	void handleGroupPatternMask(const QString& pattern);
-	void handleGroupPatternMaskProps(double, double, double, double, double, double, double, bool, bool);
-
-	void handleTextFlow();
-	void handleNewShape(int f, int c, qreal *vals);
-
-	void handleFillRule();
 	void handleClipping();
-	void handleShapeEdit();
-	void handleShapeEditEnded();
-
-	void handleSpecialGradient(double, double, double, double, double, double, double, double );
-	void handleGradientEdit();
-
-signals:
-	void shapeChanged(int);
-	void shapeEditStarted();
 };
 
 #endif

Modified: trunk/Scribus/scribus/ui/propertiespalette_groupbase.ui
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/propertiespalette_groupbase.ui
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_groupbase.ui	(original)
+++ trunk/Scribus/scribus/ui/propertiespalette_groupbase.ui	Fri Nov  1 12:05:38 2019
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>212</width>
-    <height>387</height>
+    <height>47</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -30,316 +30,6 @@
     <number>3</number>
    </property>
    <item>
-    <widget class="QGroupBox" name="shapeGroup">
-     <property name="title">
-      <string>Shape</string>
-     </property>
-     <property name="flat">
-      <bool>true</bool>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout_2">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>2</number>
-      </property>
-      <property name="topMargin">
-       <number>2</number>
-      </property>
-      <property name="rightMargin">
-       <number>2</number>
-      </property>
-      <property name="bottomMargin">
-       <number>2</number>
-      </property>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <spacer name="horizontalSpacer">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="Autoforms" name="customShape">
-          <property name="text">
-           <string>...</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QToolButton" name="editShape">
-          <property name="text">
-           <string>&Edit...</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="textFlowGroup">
-     <property name="title">
-      <string>Text &Flow Around Frame</string>
-     </property>
-     <property name="flat">
-      <bool>true</bool>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout">
-      <property name="spacing">
-       <number>2</number>
-      </property>
-      <property name="leftMargin">
-       <number>2</number>
-      </property>
-      <property name="topMargin">
-       <number>2</number>
-      </property>
-      <property name="rightMargin">
-       <number>2</number>
-      </property>
-      <property name="bottomMargin">
-       <number>2</number>
-      </property>
-      <item>
-       <widget class="QToolButton" name="textFlowDisabled">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string>Disable text flow from lower frames around object</string>
-        </property>
-        <property name="text">
-         <string>Disabled</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesFrameShape">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string>Use the frame shape for text flow of text frames below the object</string>
-        </property>
-        <property name="text">
-         <string>Use Frame &Shape</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesBoundingBox">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string><qt>Use the bounding box, which is always rectangular, instead of the frame's shape for text flow of text frames below the object</qt></string>
-        </property>
-        <property name="text">
-         <string>Use &Bounding Box</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesContourLine">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string><qt>When chosen, the contour line can be edited with the Edit Shape Tool on the palette further above. When edited via the shape palette, this becomes a second separate line originally based on the frame's shape for text flow of text frames below the object.</qt></string>
-        </property>
-        <property name="text">
-         <string>&Use Contour Line</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesImageClipping">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string><qt>Use the clipping path of the image</qt></string>
-        </property>
-        <property name="text">
-         <string>Use Image Clip Path</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="fillRuleGroup">
-     <property name="title">
-      <string>Fill Rule</string>
-     </property>
-     <property name="flat">
-      <bool>true</bool>
-     </property>
-     <layout class="QHBoxLayout" name="horizontalLayout_3">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>2</number>
-      </property>
-      <property name="topMargin">
-       <number>2</number>
-      </property>
-      <property name="rightMargin">
-       <number>2</number>
-      </property>
-      <property name="bottomMargin">
-       <number>2</number>
-      </property>
-      <item>
-       <spacer name="horizontalSpacer_2">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>10</width>
-          <height>10</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="evenOdd">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string><qt>Any path self-intersections or subpaths create holes in the fill</qt></string>
-        </property>
-        <property name="text">
-         <string>Even-Odd</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <widget class="QRadioButton" name="nonZero">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="toolTip">
-         <string><qt>Fill is solid unless a subpath is counter-directional</qt></string>
-        </property>
-        <property name="text">
-         <string>Non Zero</string>
-        </property>
-       </widget>
-      </item>
-      <item>
-       <spacer name="horizontalSpacer_3">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>10</width>
-          <height>10</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
     <widget class="QCheckBox" name="clipGroups">
      <property name="toolTip">
       <string>When the group's bounding frame has been edited, clip the contents of the page items to the edited bounding frame</string>
@@ -347,36 +37,6 @@
      <property name="text">
       <string>Group clips Contents</string>
      </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="transparencyGroup">
-     <property name="title">
-      <string>Transparency</string>
-     </property>
-     <property name="flat">
-      <bool>true</bool>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout_4">
-      <property name="spacing">
-       <number>2</number>
-      </property>
-      <property name="leftMargin">
-       <number>2</number>
-      </property>
-      <property name="topMargin">
-       <number>2</number>
-      </property>
-      <property name="rightMargin">
-       <number>2</number>
-      </property>
-      <property name="bottomMargin">
-       <number>2</number>
-      </property>
-      <item>
-       <widget class="TransparencyPalette" name="transPalWidget" native="true"/>
-      </item>
-     </layout>
     </widget>
    </item>
    <item>
@@ -394,19 +54,6 @@
    </item>
   </layout>
  </widget>
- <customwidgets>
-  <customwidget>
-   <class>Autoforms</class>
-   <extends>QToolButton</extends>
-   <header>ui/autoform.h</header>
-  </customwidget>
-  <customwidget>
-   <class>Tpalette</class>
-   <extends>QWidget</extends>
-   <header>ui/transparencypalette.h</header>
-   <container>1</container>
-  </customwidget>
- </customwidgets>
  <resources/>
  <connections/>
  <buttongroups>

Modified: trunk/Scribus/scribus/ui/propertiespalette_shape.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/propertiespalette_shape.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_shape.cpp	(original)
+++ trunk/Scribus/scribus/ui/propertiespalette_shape.cpp	Fri Nov  1 12:05:38 2019
@@ -35,7 +35,6 @@
 #include "util.h"
 #include "util_math.h"
 
-
 PropertiesPalette_Shape::PropertiesPalette_Shape( QWidget* parent)
 	: QWidget(parent),
 	  m_haveDoc(false),
@@ -51,11 +50,16 @@
 	setupUi(this);
 	setSizePolicy( QSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum));
 
+	roundRectIcon->setPixmap(IconManager::instance().loadPixmap("round-corners.png"));
+
 	textFlowDisabled->setIcon(IconManager::instance().loadIcon("flow-none.png"));
 	textFlowUsesFrameShape->setIcon(IconManager::instance().loadIcon("flow-frame.png"));
 	textFlowUsesBoundingBox->setIcon(IconManager::instance().loadIcon("flow-bounding.png"));
 	textFlowUsesContourLine->setIcon(IconManager::instance().loadIcon("flow-contour.png"));
 	textFlowUsesImageClipping->setIcon(IconManager::instance().loadIcon("flow-contour.png"));
+
+	evenOdd->setIcon(IconManager::instance().loadIcon("fill-rule-even-odd.png"));
+	nonZero->setIcon(IconManager::instance().loadIcon("fill-rule-nonzero.png"));
 
 	languageChange();
 
@@ -67,7 +71,6 @@
 	connect(customShape, SIGNAL(FormSel(int, int, qreal *)), this, SLOT(handleNewShape(int, int, qreal *)));
 
 	roundRect->showValue(0);
-	stackedWidget->setCurrentIndex(0);
 }
 
 void PropertiesPalette_Shape::changeEvent(QEvent *e)
@@ -350,23 +353,21 @@
 	roundRect->setValue(m_item->cornerRadius()*m_unitRatio);
 	showTextFlowMode(m_item->textFlowMode());
 
-	if (m_item->asPathText())
-	{
-		stackedWidget->setCurrentIndex(0);
-	}
-	else if (m_item->asTextFrame())
-	{
-		stackedWidget->setCurrentIndex(0);
+	if (m_item->asPathText() || m_item->asTextFrame() || m_item->asImageFrame())
+	{
+		nonZero->setChecked(false);
+		nonZero->setEnabled(false);
+		evenOdd->setChecked(false);
+		evenOdd->setEnabled(false);
 	}
 	else
 	{
-		stackedWidget->setCurrentIndex(1);
-		fillRuleGroup->setVisible(m_item->itemType() != PageItem::ImageFrame);
+		nonZero->setEnabled(true);
+		evenOdd->setEnabled(true);
+		nonZero->setChecked(!m_item->fillRule);
 	}
 	setLocked(m_item->locked());
 	setSizeLocked(m_item->sizeLocked());
-	nonZero->setChecked(!m_item->fillRule);
-	evenOdd->setChecked(m_item->fillRule);
 
 	// Frame type 3 is obsolete: CR 2005-02-06
 	//if (((i->itemType() == PageItem::TextFrame) || (i->itemType() == PageItem::ImageFrame) || (i->itemType() == 3)) &&  (!i->ClipEdited))
@@ -405,19 +406,16 @@
 		return;
 	if ((m_haveDoc) && (m_haveItem))
 	{
-		if (!m_item->isGroup())
-		{
-			if (textFlowDisabled->isChecked())
-				mode = PageItem::TextFlowDisabled;
-			if (textFlowUsesFrameShape->isChecked())
-				mode = PageItem::TextFlowUsesFrameShape;
-			if (textFlowUsesBoundingBox->isChecked())
-				mode = PageItem::TextFlowUsesBoundingBox;
-			if (textFlowUsesContourLine->isChecked())
-				mode = PageItem::TextFlowUsesContourLine;
-			if (textFlowUsesImageClipping->isChecked())
-				mode = PageItem::TextFlowUsesImageClipping;
-		}
+		if (textFlowDisabled->isChecked())
+			mode = PageItem::TextFlowDisabled;
+		if (textFlowUsesFrameShape->isChecked())
+			mode = PageItem::TextFlowUsesFrameShape;
+		if (textFlowUsesBoundingBox->isChecked())
+			mode = PageItem::TextFlowUsesBoundingBox;
+		if (textFlowUsesContourLine->isChecked())
+			mode = PageItem::TextFlowUsesContourLine;
+		if (textFlowUsesImageClipping->isChecked())
+			mode = PageItem::TextFlowUsesImageClipping;
 		m_item->setTextFlowMode(mode);
 		m_doc->changed();
 		m_doc->invalidateAll();
@@ -516,8 +514,6 @@
 void PropertiesPalette_Shape::showTextFlowMode(PageItem::TextFlowMode mode)
 {
 	if (!m_ScMW || m_ScMW->scriptIsRunning() || !m_haveItem)
-		return;
-	if (m_item->isGroup())
 		return;
 	if (mode == PageItem::TextFlowDisabled)
 		textFlowDisabled->setChecked(true);

Modified: trunk/Scribus/scribus/ui/propertiespalette_shapebase.ui
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/propertiespalette_shapebase.ui
==============================================================================
--- trunk/Scribus/scribus/ui/propertiespalette_shapebase.ui	(original)
+++ trunk/Scribus/scribus/ui/propertiespalette_shapebase.ui	Fri Nov  1 12:05:38 2019
@@ -30,341 +30,334 @@
     <number>2</number>
    </property>
    <item>
-    <widget class="QGroupBox" name="shapeGroup">
-     <property name="title">
-      <string>Shape</string>
-     </property>
-     <property name="flat">
-      <bool>true</bool>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout_2">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>2</number>
-      </property>
-      <property name="topMargin">
-       <number>2</number>
-      </property>
-      <property name="rightMargin">
-       <number>2</number>
-      </property>
-      <property name="bottomMargin">
-       <number>2</number>
-      </property>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <widget class="Autoforms" name="customShape">
-          <property name="toolTip">
-           <string>Choose the shape of frame...</string>
-          </property>
-          <property name="text">
-           <string>...</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QToolButton" name="editShape">
-          <property name="text">
-           <string>&Edit...</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-       </layout>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <item>
-         <widget class="QLabel" name="roundRectLabel">
-          <property name="text">
-           <string>R&ound Corners:</string>
-          </property>
-          <property name="buddy">
-           <cstring>roundRect</cstring>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="ScrSpinBox" name="roundRect">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="toolTip">
-           <string>Set radius of corner rounding</string>
-          </property>
-         </widget>
-        </item>
-       </layout>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="textFlowGroup">
-     <property name="title">
-      <string>Text &Flow Around Frame</string>
-     </property>
-     <property name="flat">
-      <bool>true</bool>
-     </property>
-     <layout class="QVBoxLayout" name="verticalLayout_3">
-      <property name="spacing">
-       <number>5</number>
-      </property>
-      <property name="leftMargin">
-       <number>2</number>
-      </property>
-      <property name="topMargin">
-       <number>2</number>
-      </property>
-      <property name="rightMargin">
-       <number>2</number>
-      </property>
-      <property name="bottomMargin">
-       <number>2</number>
-      </property>
-      <item>
-       <widget class="QToolButton" name="textFlowDisabled">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Disabled</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesFrameShape">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Use Frame &Shape</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesBoundingBox">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Use &Bounding Box</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesContourLine">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>&Use Contour Line</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-      <item>
-       <widget class="QToolButton" name="textFlowUsesImageClipping">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>Use Image Clip Path</string>
-        </property>
-        <property name="checkable">
-         <bool>true</bool>
-        </property>
-        <property name="autoExclusive">
-         <bool>true</bool>
-        </property>
-        <property name="toolButtonStyle">
-         <enum>Qt::ToolButtonTextBesideIcon</enum>
-        </property>
-        <attribute name="buttonGroup">
-         <string notr="true">textFlowBtnGroup</string>
-        </attribute>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QStackedWidget" name="stackedWidget">
-     <property name="currentIndex">
-      <number>1</number>
-     </property>
-     <widget class="QWidget" name="page"/>
-     <widget class="QWidget" name="page_2">
-      <layout class="QVBoxLayout" name="verticalLayout_4">
-       <item>
-        <widget class="QGroupBox" name="fillRuleGroup">
-         <property name="title">
-          <string>Fill Rule</string>
-         </property>
-         <property name="flat">
-          <bool>true</bool>
-         </property>
-         <layout class="QHBoxLayout" name="horizontalLayout_3">
-          <property name="spacing">
-           <number>5</number>
-          </property>
-          <property name="leftMargin">
-           <number>2</number>
-          </property>
-          <property name="topMargin">
-           <number>2</number>
-          </property>
-          <property name="rightMargin">
-           <number>2</number>
-          </property>
-          <property name="bottomMargin">
-           <number>2</number>
-          </property>
-          <item>
-           <spacer name="horizontalSpacer_2">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-          <item>
-           <widget class="QRadioButton" name="evenOdd">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="toolTip">
-             <string><qt>Any path self-intersections or subpaths create holes in the fill</qt></string>
-            </property>
-            <property name="text">
-             <string>Even-Odd</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <widget class="QRadioButton" name="nonZero">
-            <property name="sizePolicy">
-             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-              <horstretch>0</horstretch>
-              <verstretch>0</verstretch>
-             </sizepolicy>
-            </property>
-            <property name="toolTip">
-             <string><qt>Fill is solid unless a subpath is counter-directional</qt></string>
-            </property>
-            <property name="text">
-             <string>Non Zero</string>
-            </property>
-           </widget>
-          </item>
-          <item>
-           <spacer name="horizontalSpacer_3">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
-         </layout>
-        </widget>
+    <layout class="QGridLayout" name="gridLayout">
+     <item row="1" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
+        <string>Shape:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout_5">
+       <item>
+        <widget class="QToolButton" name="textFlowUsesBoundingBox">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>22</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Text flow around bounding box</string>
+         </property>
+         <property name="text">
+          <string>Use &Bounding Box</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <property name="toolButtonStyle">
+          <enum>Qt::ToolButtonIconOnly</enum>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">textFlowBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="textFlowUsesFrameShape">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>22</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Text flow around  frame shape</string>
+         </property>
+         <property name="text">
+          <string>Use Frame &Shape</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <property name="toolButtonStyle">
+          <enum>Qt::ToolButtonIconOnly</enum>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">textFlowBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="textFlowDisabled">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>22</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Text flow around frame disabled</string>
+         </property>
+         <property name="text">
+          <string>Disabled</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <property name="toolButtonStyle">
+          <enum>Qt::ToolButtonIconOnly</enum>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">textFlowBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="textFlowUsesContourLine">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>22</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Text Flow around contour line</string>
+         </property>
+         <property name="text">
+          <string>&Use Contour Line</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <property name="toolButtonStyle">
+          <enum>Qt::ToolButtonIconOnly</enum>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">textFlowBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="textFlowUsesImageClipping">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="maximumSize">
+          <size>
+           <width>22</width>
+           <height>16777215</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string>Text flow around image clip path</string>
+         </property>
+         <property name="text">
+          <string>Use Image Clip Path</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <property name="toolButtonStyle">
+          <enum>Qt::ToolButtonIconOnly</enum>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">textFlowBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_4">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
        </item>
       </layout>
-     </widget>
-    </widget>
+     </item>
+     <item row="1" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout_6">
+       <item>
+        <widget class="Autoforms" name="customShape">
+         <property name="toolTip">
+          <string>Choose the shape of frame...</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="editShape">
+         <property name="text">
+          <string>&Edit...</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <widget class="QLabel" name="roundRectIcon">
+         <property name="minimumSize">
+          <size>
+           <width>10</width>
+           <height>10</height>
+          </size>
+         </property>
+         <property name="toolTip">
+          <string notr="true"/>
+         </property>
+         <property name="text">
+          <string/>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="ScrSpinBox" name="roundRect">
+         <property name="sizePolicy">
+          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="toolTip">
+          <string>Set radius of corner rounding</string>
+         </property>
+        </widget>
+       </item>
+      </layout>
+     </item>
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_3">
+       <property name="text">
+        <string>Text Flow:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="5" column="0">
+      <widget class="QLabel" name="label_4">
+       <property name="text">
+        <string>Fill Rule:</string>
+       </property>
+      </widget>
+     </item>
+     <item row="5" column="1">
+      <layout class="QHBoxLayout" name="horizontalLayout_2">
+       <item>
+        <widget class="QToolButton" name="evenOdd">
+         <property name="toolTip">
+          <string>Any path self-intersections or subpaths create holes in the fill (fill-rule: evenodd)</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">fillRuleBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <widget class="QToolButton" name="nonZero">
+         <property name="toolTip">
+          <string>Fill is solid unless a subpath is counterdirectional  (fill-rule: nonzero)</string>
+         </property>
+         <property name="text">
+          <string>...</string>
+         </property>
+         <property name="checkable">
+          <bool>true</bool>
+         </property>
+         <property name="autoExclusive">
+          <bool>true</bool>
+         </property>
+         <attribute name="buttonGroup">
+          <string notr="true">fillRuleBtnGroup</string>
+         </attribute>
+        </widget>
+       </item>
+       <item>
+        <spacer name="horizontalSpacer_3">
+         <property name="orientation">
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </item>
+    </layout>
    </item>
    <item>
     <spacer name="verticalSpacer">
@@ -396,6 +389,7 @@
  <resources/>
  <connections/>
  <buttongroups>
+  <buttongroup name="fillRuleBtnGroup"/>
   <buttongroup name="textFlowBtnGroup"/>
  </buttongroups>
 </ui>

Modified: trunk/Scribus/scribus/ui/transparencypalette.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/transparencypalette.cpp
==============================================================================
--- trunk/Scribus/scribus/ui/transparencypalette.cpp	(original)
+++ trunk/Scribus/scribus/ui/transparencypalette.cpp	Fri Nov  1 12:05:38 2019
@@ -91,6 +91,11 @@
 
 	if (!currentItem || !currentDoc)
 		return;
+
+	if (currentItem->isGroup())
+		hideSelectionButtons();
+	else
+		showSelectionButtons();
 
 	setActTrans(currentItem->fillTransparency(), currentItem->lineTransparency());
 	setActBlend(currentItem->fillBlendmode(), currentItem->lineBlendmode());
@@ -196,12 +201,21 @@
 		setCurrentItem(currentItem);
 }
 
+void TransparencyPalette::showSelectionButtons()
+{
+	editLineSelector->show();
+	editLineSelector->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
+	editFillSelector->show();
+	editFillSelector->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
+}
 void TransparencyPalette::hideSelectionButtons()
 {
 	editLineSelector->hide();
 	editLineSelector->setSizePolicy(QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored));
 	editFillSelector->hide();
 	editFillSelector->setSizePolicy(QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored));
+	stackedWidget->setCurrentIndex(1);
+	editFillSelector->setChecked(true);
 }
 
 void TransparencyPalette::updateFromItem()

Modified: trunk/Scribus/scribus/ui/transparencypalette.h
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=23309&path=/trunk/Scribus/scribus/ui/transparencypalette.h
==============================================================================
--- trunk/Scribus/scribus/ui/transparencypalette.h	(original)
+++ trunk/Scribus/scribus/ui/transparencypalette.h	Fri Nov  1 12:05:38 2019
@@ -61,6 +61,7 @@
 
 	void setDocument(ScribusDoc* doc);
 	void setCurrentItem(PageItem* item);
+	void showSelectionButtons();
 	void hideSelectionButtons();
 	void updateFromItem();
 




More information about the scribus-commit mailing list