From 118c4392049ec03e6c91ea2729edfa366ac4a24b Mon Sep 17 00:00:00 2001
Message-Id: <118c4392049ec03e6c91ea2729edfa366ac4a24b.1611359778.git.bubu@ujevangelizacio.hu>
From: =?UTF-8?q?Gyuris=20Gell=C3=A9rt?= <bubu@ujevangelizacio.hu>
Date: Sat, 23 Jan 2021 00:56:08 +0100
Subject: [PATCH] Update layout for Image Effects dialog

---
 scribus/ui/effectsdialog.cpp | 170 ++++++++++++++++++-----------------
 scribus/ui/effectsdialog.h   |  11 ++-
 2 files changed, 98 insertions(+), 83 deletions(-)

diff --git a/scribus/ui/effectsdialog.cpp b/scribus/ui/effectsdialog.cpp
index 420f36057..02af086a8 100644
--- a/scribus/ui/effectsdialog.cpp
+++ b/scribus/ui/effectsdialog.cpp
@@ -23,6 +23,8 @@ for which a new license (GPL+exception) is in place.
 #include <QWidgetAction>
 #include <QTime>
 #include <QStackedWidget>
+#include <QGroupBox>
+#include <QSpacerItem>
 
 #include "cmsettings.h"
 #include "colorcombo.h"
@@ -70,11 +72,23 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 		m_imageScale = qMin(sx, sy);
 	}
 	EffectsDialogLayout = new QHBoxLayout( this );
-	EffectsDialogLayout->setMargin(10);
-	EffectsDialogLayout->setSpacing(5);
+	EffectsDialogLayout->setContentsMargins(9, 9, 9, 9);
+	EffectsDialogLayout->setSpacing(6);
+	layout25 = new QVBoxLayout;
+	layout25->setContentsMargins(0, 0, 0, 0);
+	layout25->setSpacing(6);
+	EffectsDialogLayout->addLayout( layout25 );
+	layout27 = new QHBoxLayout;
+	layout27->setContentsMargins(0, 0, 0, 0);
+	layout27->setSpacing(6);
+	layout25->addLayout( layout27 );
+
 	layout16 = new QVBoxLayout;
-	layout16->setMargin(0);
-	layout16->setSpacing(5);
+	layout16->setContentsMargins(0, 0, 0, 0);
+	layout16->setSpacing(6);
+	textLabel16 = new QLabel( this );
+	textLabel16->setText( tr( "Preview" ) );
+	layout16->addWidget( textLabel16 );
 	pixmapLabel1 = new QLabel( this );
 	pixmapLabel1->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
 	pixmapLabel1->setMinimumSize( QSize( 220, 220 ) );
@@ -83,24 +97,21 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 	pixmapLabel1->setFrameShadow( QLabel::Sunken );
 	pixmapLabel1->setScaledContents( false );
 	layout16->addWidget( pixmapLabel1 );
-	textLabel5 = new QLabel( this );
-	textLabel5->setText( tr( "Options:" ) );
-	layout16->addWidget( textLabel5 );
 	optionStack = new QStackedWidget( this );
 //	optionStack->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, optionStack->sizePolicy().hasHeightForWidth() ) );
-	optionStack->setMinimumSize( QSize( 220, 180 ) );
-	optionStack->setFrameShape( QFrame::Box );
+//	optionStack->setMinimumSize( QSize( 220, 280 ) );
+	optionStack->setFrameShape( QFrame::NoFrame );
 	WStackPage = new QWidget( optionStack );
 	optionStack->addWidget( WStackPage );
 
 	WStackPage_2 = new QWidget( optionStack );
 	WStackPageLayout = new QVBoxLayout( WStackPage_2 );
-	WStackPageLayout->setMargin(5);
-	WStackPageLayout->setSpacing(5);
+	WStackPageLayout->setContentsMargins(0, 0, 0, 0);
+	WStackPageLayout->setSpacing(6);
 	WStackPageLayout->setAlignment( Qt::AlignTop );
 	layout17 = new QHBoxLayout;
-	layout17->setMargin(0);
-	layout17->setSpacing(5);
+	layout17->setContentsMargins(0, 0, 0, 0);
+	layout17->setSpacing(6);
 	textLabel3 = new QLabel( tr( "Color:" ), WStackPage_2 );
 	layout17->addWidget( textLabel3 );
 
@@ -111,8 +122,8 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 	WStackPageLayout->addLayout( layout17 );
 
 	layout19 = new QHBoxLayout;
-	layout19->setMargin(0);
-	layout19->setSpacing(5);
+	layout19->setContentsMargins(0, 0, 0, 0);
+	layout19->setSpacing(6);
 	textLabel4 = new QLabel( tr( "Shade:" ), WStackPage_2 );
 	layout19->addWidget( textLabel4 );
 	shade = new ShadeButton(WStackPage_2);
@@ -123,12 +134,12 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_3 = new QWidget( optionStack );
 	WStackPage3Layout = new QVBoxLayout( WStackPage_3 );
-	WStackPage3Layout->setMargin(5);
-	WStackPage3Layout->setSpacing(5);
+	WStackPage3Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage3Layout->setSpacing(6);
 	WStackPage3Layout->setAlignment( Qt::AlignTop );
 	layout20 = new QHBoxLayout;
-	layout20->setMargin(0);
-	layout20->setSpacing(5);
+	layout20->setContentsMargins(0, 0, 0, 0);
+	layout20->setSpacing(6);
 	textLabel6 = new QLabel( tr( "Brightness:" ), WStackPage_3 );
 	layout20->addWidget( textLabel6, Qt::AlignLeft );
 	textLabel7 = new QLabel( "0", WStackPage_3 );
@@ -145,12 +156,12 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_4 = new QWidget( optionStack );
 	WStackPage4Layout = new QVBoxLayout( WStackPage_4 );
-	WStackPage4Layout->setMargin(5);
-	WStackPage4Layout->setSpacing(5);
+	WStackPage4Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage4Layout->setSpacing(6);
 	WStackPage4Layout->setAlignment( Qt::AlignTop );
 	layout21 = new QHBoxLayout;
-	layout21->setMargin(0);
-	layout21->setSpacing(5);
+	layout21->setContentsMargins(0, 0, 0, 0);
+	layout21->setSpacing(6);
 	textLabel8 = new QLabel( tr( "Contrast:" ), WStackPage_4 );
 	layout21->addWidget( textLabel8, Qt::AlignLeft );
 	textLabel9 = new QLabel( "0", WStackPage_4 );
@@ -167,12 +178,12 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_5 = new QWidget( optionStack );
 	WStackPage5Layout = new QVBoxLayout( WStackPage_5 );
-	WStackPage5Layout->setMargin(5);
-	WStackPage5Layout->setSpacing(5);
+	WStackPage5Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage5Layout->setSpacing(6);
 	WStackPage5Layout->setAlignment( Qt::AlignTop );
 	layout22 = new QHBoxLayout;
-	layout22->setMargin(0);
-	layout22->setSpacing(5);
+	layout22->setContentsMargins(0, 0, 0, 0);
+	layout22->setSpacing(6);
 	textLabel10 = new QLabel( tr( "Radius:" ), WStackPage_5 );
 	layout22->addWidget( textLabel10 );
 	shRadius = new ScrSpinBox( 0.0, 10.0, WStackPage_5, 1 );
@@ -182,8 +193,8 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 	layout22->addWidget( shRadius );
 	WStackPage5Layout->addLayout( layout22 );
 	layout23 = new QHBoxLayout;
-	layout23->setMargin(0);
-	layout23->setSpacing(5);
+	layout23->setContentsMargins(0, 0, 0, 0);
+	layout23->setSpacing(6);
 	textLabel11 = new QLabel( tr("Value:"), WStackPage_5 );
 	layout23->addWidget( textLabel11 );
 	shValue = new ScrSpinBox( 0.0, 5.0, WStackPage_5, 1 );
@@ -196,12 +207,12 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_6 = new QWidget( optionStack );
 	WStackPage6Layout = new QVBoxLayout( WStackPage_6 );
-	WStackPage6Layout->setMargin(5);
-	WStackPage6Layout->setSpacing(5);
+	WStackPage6Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage6Layout->setSpacing(6);
 	WStackPage6Layout->setAlignment( Qt::AlignTop );
 	layout24 = new QHBoxLayout;
-	layout24->setMargin(0);
-	layout24->setSpacing(5);
+	layout24->setContentsMargins(0, 0, 0, 0);
+	layout24->setSpacing(6);
 	textLabel12 = new QLabel( tr( "Radius:" ), WStackPage_6 );
 	layout24->addWidget( textLabel12 );
 	blRadius = new ScrSpinBox( 0.0, 30.0, WStackPage_6, 1 );
@@ -214,12 +225,12 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_7 = new QWidget( optionStack );
 	WStackPage7Layout = new QVBoxLayout( WStackPage_7 );
-	WStackPage7Layout->setMargin(5);
-	WStackPage7Layout->setSpacing(5);
+	WStackPage7Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage7Layout->setSpacing(6);
 	WStackPage7Layout->setAlignment( Qt::AlignTop );
 	layout26 = new QHBoxLayout;
-	layout26->setMargin(0);
-	layout26->setSpacing(5);
+	layout26->setContentsMargins(0, 0, 0, 0);
+	layout26->setSpacing(6);
 	textLabel14 = new QLabel( tr( "Posterize:" ), WStackPage_7 );
 	layout26->addWidget( textLabel14, Qt::AlignLeft );
 	textLabel15 = new QLabel( "0", WStackPage_7 );
@@ -236,8 +247,8 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_8 = new QWidget( optionStack );
 	WStackPage8Layout = new QGridLayout( WStackPage_8 );
-	WStackPage8Layout->setMargin(4);
-	WStackPage8Layout->setSpacing(5);
+	WStackPage8Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage8Layout->setSpacing(6);
 	WStackPage8Layout->setAlignment( Qt::AlignTop );
 	textLabel1d = new QLabel( tr( "Color 1:" ), WStackPage_8 );
 	WStackPage8Layout->addWidget( textLabel1d, 0, 0 );
@@ -288,8 +299,8 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_9 = new QWidget( optionStack );
 	WStackPage9Layout = new QGridLayout( WStackPage_9 );
-	WStackPage9Layout->setMargin(4);
-	WStackPage9Layout->setSpacing(5);
+	WStackPage9Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage9Layout->setSpacing(6);
 	WStackPage9Layout->setAlignment( Qt::AlignTop );
 	textLabel1t = new QLabel( tr( "Color 1:" ), WStackPage_9 );
 	WStackPage9Layout->addWidget( textLabel1t, 0, 0 );
@@ -358,8 +369,8 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_10 = new QWidget( optionStack );
 	WStackPage10Layout = new QGridLayout( WStackPage_10 );
-	WStackPage10Layout->setMargin(4);
-	WStackPage10Layout->setSpacing(5);
+	WStackPage10Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage10Layout->setSpacing(6);
 	textLabel1q = new QLabel( tr( "Color 1:" ), WStackPage_10 );
 	WStackPage10Layout->addWidget( textLabel1q, 0, 0 );
 	colDataq1 = new ColorCombo(false, WStackPage_10);
@@ -448,25 +459,24 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	WStackPage_11 = new QWidget( optionStack );
 	WStackPage11Layout = new QVBoxLayout( WStackPage_11 );
-	WStackPage11Layout->setMargin(5);
-	WStackPage11Layout->setSpacing(5);
+	WStackPage11Layout->setContentsMargins(0, 0, 0, 0);
+	WStackPage11Layout->setSpacing(6);
 	WStackPage11Layout->setAlignment( Qt::AlignTop );
 	Kdisplay = new CurveWidget(WStackPage_11);
 	WStackPage11Layout->addWidget( Kdisplay );
+	spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Expanding );
+	WStackPage11Layout->addItem( spacer );
 	optionStack->addWidget( WStackPage_11 );
 
-	layout16->addWidget( optionStack );
-	EffectsDialogLayout->addLayout( layout16 );
-
 	layout18 = new QVBoxLayout;
-	layout18->setMargin(0);
-	layout18->setSpacing(5);
+	layout18->setContentsMargins(0, 0, 0, 0);
+	layout18->setSpacing(6);
 	layout10 = new QGridLayout;
-	layout10->setMargin(0);
-	layout10->setSpacing(5);
+	layout10->setContentsMargins(0, 0, 0, 0);
+	layout10->setSpacing(6);
 	layout2 = new QVBoxLayout;
-	layout2->setMargin(0);
-	layout2->setSpacing(5);
+	layout2->setContentsMargins(0, 0, 0, 0);
+	layout2->setSpacing(6);
 	textLabel1 = new QLabel( this );
 	textLabel1->setText( tr( "Available Effects" ) );
 	layout2->addWidget( textLabel1 );
@@ -490,28 +500,15 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 
 	availableEffects->setMinimumSize(availableEffectsAdvance + 40, 180);
 	layout2->addWidget(availableEffects);
-	layout10->addLayout(layout2, 0, 0);
-
-	layout1 = new QVBoxLayout;
-	layout1->setMargin(0);
-	layout1->setSpacing(5);
-	auto* spacer1 = new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding );
-	layout1->addItem( spacer1 );
 	toEffects = new QPushButton( this );
 	toEffects->setText( tr( "Add" ) );
 	toEffects->setEnabled(false);
-	layout1->addWidget( toEffects );
-	fromEffects = new QPushButton( this );
-	fromEffects->setText( tr( "Remove" ) );
-	fromEffects->setEnabled(false);
-	layout1->addWidget( fromEffects );
-	auto* spacer2 = new QSpacerItem( 1, 1, QSizePolicy::Minimum, QSizePolicy::Expanding );
-	layout1->addItem( spacer2 );
-	layout10->addLayout( layout1, 0, 1 );
+	layout2->addWidget( toEffects );
+	layout10->addLayout(layout2, 0, 0);
 
 	layout8 = new QVBoxLayout;
-	layout8->setMargin(0);
-	layout8->setSpacing(5);
+	layout8->setContentsMargins(0, 0, 0, 0);
+	layout8->setSpacing(6);
 	textLabel2 = new QLabel( this );
 	textLabel2->setText( tr( "Applied Effects" ) );
 	layout8->addWidget( textLabel2 );
@@ -605,10 +602,12 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 	}
 	layout8->addWidget( usedEffects );
 	layout7 = new QHBoxLayout;
-	layout7->setMargin(0);
-	layout7->setSpacing(5);
-	QSpacerItem* spacer4 = new QSpacerItem( 1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum );
-	layout7->addItem( spacer4 );
+	layout7->setContentsMargins(0, 0, 0, 0);
+	layout7->setSpacing(6);
+	fromEffects = new QPushButton( this );
+	fromEffects->setText( tr( "Remove" ) );
+	fromEffects->setEnabled(false);
+	layout7->addWidget( fromEffects );
 	effectUp = new QPushButton( this );
 	effectUp->setText( "" );
 	effectUp->setIcon(IconManager::instance().loadIcon("16/go-up.png"));
@@ -619,15 +618,25 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 	effectDown->setIcon(IconManager::instance().loadIcon("16/go-down.png"));
 	effectDown->setEnabled(false);
 	layout7->addWidget( effectDown );
-	QSpacerItem* spacer5 = new QSpacerItem( 1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum );
-	layout7->addItem( spacer5 );
 	layout8->addLayout( layout7 );
 	layout10->addLayout( layout8, 0, 2 );
 	layout18->addLayout( layout10 );
 
+	groupBox = new QGroupBox( this );
+	groupBox->setTitle( tr( "Options:" ) );
+	layout28 = new QVBoxLayout( groupBox );
+	layout28->addWidget( optionStack );
+	layout28->setAlignment( Qt::AlignTop );
+	layout28->setSpacing(6);
+	layout28->setContentsMargins(9, 9, 9, 9);
+	layout16->addWidget( groupBox );
+
+	layout27->addLayout( layout18 );
+	layout27->addLayout( layout16 );
+
 	layout9 = new QHBoxLayout;
-	layout9->setMargin(0);
-	layout9->setSpacing(5);
+	layout9->setContentsMargins(0, 0, 0, 0);
+	layout9->setSpacing(6);
 	QSpacerItem* spacer3 = new QSpacerItem( 1, 1, QSizePolicy::Expanding, QSizePolicy::Minimum );
 	layout9->addItem( spacer3 );
 
@@ -638,8 +647,7 @@ EffectsDialog::EffectsDialog( QWidget* parent, PageItem* item, ScribusDoc* docc
 	cancelButton = new QPushButton( this );
 	cancelButton->setText( tr( "Cancel" ) );
 	layout9->addWidget( cancelButton );
-	layout18->addLayout( layout9 );
-	EffectsDialogLayout->addLayout( layout18 );
+	layout25->addLayout( layout9 );
 	optionStack->setCurrentIndex(0);
 	usedEffects->clearSelection();
 	availableEffects->clearSelection();
diff --git a/scribus/ui/effectsdialog.h b/scribus/ui/effectsdialog.h
index b89ff8cfd..2f5e9ff76 100644
--- a/scribus/ui/effectsdialog.h
+++ b/scribus/ui/effectsdialog.h
@@ -34,6 +34,8 @@ class QListWidgetItem;
 class QListWidget;
 class ScrSpinBox;
 class CurveWidget;
+class QGroupBox;
+class QSpacerItem;
 
 class SCRIBUS_API EffectsDialog : public QDialog
 {
@@ -50,7 +52,6 @@ public:
 	QLabel* textLabel2;
 	QLabel* textLabel3;
 	QLabel* textLabel4;
-	QLabel* textLabel5;
 	QLabel* textLabel6;
 	QLabel* textLabel7;
 	QLabel* textLabel8;
@@ -60,6 +61,7 @@ public:
 	QLabel* textLabel12;
 	QLabel* textLabel14;
 	QLabel* textLabel15;
+	QLabel* textLabel16;
 	QStackedWidget* optionStack;
 	QWidget* WStackPage;
 	QWidget* WStackPage_2;
@@ -158,6 +160,9 @@ public:
 	QPushButton* cancelButton;
 	QListWidgetItem* currentOptions;
 
+	QGroupBox *groupBox;
+	QSpacerItem* spacer;
+
 	ScImageEffectList effectsList;
 
 public slots:
@@ -207,11 +212,13 @@ protected:
 	QGridLayout* layout10;
 	QVBoxLayout* layout8;
 	QHBoxLayout* layout7;
-	QVBoxLayout* layout1;
 	QVBoxLayout* layout2;
 	QVBoxLayout* layout16;
 	QVBoxLayout* layout18;
 	QHBoxLayout* layout9;
+	QVBoxLayout* layout25;
+	QHBoxLayout* layout27;
+	QVBoxLayout* layout28;
 };
 
 #endif // EFFECTSDIALOG_H
-- 
2.27.0

