View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0010077 | Scribus | User Interface | public | 2011-06-27 10:09 | 2014-10-24 23:00 |
| Reporter | StefanM | Assigned To | jghali | ||
| Priority | normal | Severity | feature | Reproducibility | always |
| Status | assigned | Resolution | open | ||
| Platform | imac | OS | MAC OS X | OS Version | Snow Lep |
| Product Version | 1.4.0svn | ||||
| Summary | 0010077: [patch] Add indentation control etc. to Properties Palette | ||||
| Description | Add indentation control (indent first line xxx mm) to Properties Palette | ||||
| Additional Information | Its miss is annoying esp. for newspaper projects, where first line has usually an em indent | ||||
| Tags | No tags attached. | ||||
| Attached Files | margins.diff (22,412 bytes)
diff --git Scribus/scribus/CMakeLists.txt Scribus/scribus/CMakeLists.txt
index f7a9614..491cba1 100644
--- Scribus/scribus/CMakeLists.txt
+++ Scribus/scribus/CMakeLists.txt
@@ -142,6 +142,7 @@ SET(SCRIBUS_UI_SRC
ui/propertywidget_orphansbase.ui
ui/propertywidget_pathtextbase.ui
ui/propertywidget_textcolorbase.ui
+ ui/propertywidget_textmarginsbase.ui
ui/replacecolors.ui
ui/replaceonecolor.ui
ui/selectobjects.ui
@@ -397,6 +398,7 @@ SET(SCRIBUS_MOC_CLASSES
ui/propertywidget_orphans.h
ui/propertywidget_pathtext.h
ui/propertywidget_textcolor.h
+ ui/propertywidget_textmargins.h
ui/query.h
ui/replacecolors.h
ui/replaceonecolor.h
@@ -828,6 +830,7 @@ SET(SCRIBUS_SOURCES
ui/propertywidget_orphans.cpp
ui/propertywidget_pathtext.cpp
ui/propertywidget_textcolor.cpp
+ ui/propertywidget_textmargins.cpp
ui/propertywidgetbase.cpp
ui/query.cpp
ui/replacecolors.cpp
diff --git Scribus/scribus/scribusdoc.cpp Scribus/scribus/scribusdoc.cpp
index ee7ca48..bee241b 100644
--- Scribus/scribus/scribusdoc.cpp
+++ Scribus/scribus/scribusdoc.cpp
@@ -8331,16 +8331,64 @@ void ScribusDoc::itemSelection_SetOpticalMargins(int i, Selection* customSelecti
{
ParagraphStyle newStyle;
newStyle.setOpticalMargins(i);
- itemSelection_ApplyParagraphStyle(newStyle, customSelection);
+ Selection* itemSelection = (customSelection!=0) ? customSelection : m_Selection;
+ assert(itemSelection!=0);
+ uint selectedItemCount=itemSelection->count();
+ if (selectedItemCount == 0)
+ return;
+ for (uint aa = 0; aa < selectedItemCount; ++aa)
+ itemSelection_ApplyParagraphStyle(newStyle, customSelection);
}
-
void ScribusDoc::itemSelection_resetOpticalMargins(Selection* customSelection)
{
- //TODO
-// ParagraphStyle newStyle;
-// newStyle.setOpticalMargins(i);
-// itemSelection_ApplyParagraphStyle(newStyle, customSelection);
+ Selection* itemSelection = (customSelection!=0) ? customSelection : m_Selection;
+ assert(itemSelection!=0);
+ uint selectedItemCount=itemSelection->count();
+ if (selectedItemCount == 0)
+ return;
+ for (uint aa = 0; aa < selectedItemCount; ++aa)
+ {
+ PageItem *currItem = itemSelection->itemAt(aa);
+ ParagraphStyle pStyle = currItem->itemText.defaultStyle();
+ Selection tempSelection(this, false);
+ tempSelection.addItem(currItem, true);
+ itemSelection_SetOpticalMargins(pStyle.opticalMargins(), &tempSelection);
+ }
+}
+
+void ScribusDoc::itemSelection_SetIndentsMargins(double first, double left, double right, double above, double below, Selection* customSelection)
+{
+ Selection* itemSelection = (customSelection!=0) ? customSelection : m_Selection;
+ assert(itemSelection!=0);
+ uint selectedItemCount=itemSelection->count();
+ if (selectedItemCount == 0)
+ return;
+ ParagraphStyle newStyle;
+ newStyle.setFirstIndent(first);
+ newStyle.setLeftMargin(left);
+ newStyle.setRightMargin(right);
+ newStyle.setGapBefore(above);
+ newStyle.setGapAfter(below);
+ for (uint aa = 0; aa < selectedItemCount; ++aa)
+ itemSelection_ApplyParagraphStyle(newStyle, customSelection);
+}
+
+void ScribusDoc::itemSelection_resetIndentsMargins(Selection* customSelection)
+{
+ Selection* itemSelection = (customSelection!=0) ? customSelection : m_Selection;
+ assert(itemSelection!=0);
+ uint selectedItemCount=itemSelection->count();
+ if (selectedItemCount == 0)
+ return;
+ for (uint aa = 0; aa < selectedItemCount; ++aa)
+ {
+ PageItem *currItem = itemSelection->itemAt(aa);
+ ParagraphStyle pStyle = currItem->itemText.defaultStyle();
+ Selection tempSelection(this, false);
+ tempSelection.addItem(currItem, true);
+ itemSelection_SetIndentsMargins(pStyle.firstIndent(), pStyle.leftMargin(), pStyle.rightMargin(), pStyle.gapBefore(), pStyle.gapAfter(), &tempSelection);
+ }
}
void ScribusDoc::itemSelection_SetTracking(int kern, Selection* customSelection)
diff --git Scribus/scribus/scribusdoc.h Scribus/scribus/scribusdoc.h
index b573fe3..5e0c0e4 100644
--- Scribus/scribus/scribusdoc.h
+++ Scribus/scribus/scribusdoc.h
@@ -1055,6 +1055,8 @@ public:
void itemSelection_SetEffects(int s, Selection* customSelection=0);
void itemSelection_SetOpticalMargins(int i, Selection* customSelection=0);
void itemSelection_resetOpticalMargins(Selection* customSelection=0);
+ void itemSelection_SetIndentsMargins(double first, double left, double right, double above, double below, Selection* customSelection=0);
+ void itemSelection_resetIndentsMargins(Selection* customSelection=0);
void itemSelection_SetColorProfile(const QString& profileName, Selection* customSelection=0);
void itemSelection_SetRenderIntent(int intentIndex, Selection* customSelection=0);
void itemSelection_SetCompressionMethod(int cmIndex, Selection* customSelection=0);
diff --git Scribus/scribus/ui/propertiespalette_text.cpp Scribus/scribus/ui/propertiespalette_text.cpp
index 9f768ae..7b6e3ec 100644
--- Scribus/scribus/ui/propertiespalette_text.cpp
+++ Scribus/scribus/ui/propertiespalette_text.cpp
@@ -21,6 +21,7 @@ for which a new license (GPL+exception) is in place.
#include "propertywidget_advanced.h"
#include "propertywidget_distance.h"
#include "propertywidget_dropcap.h"
+#include "propertywidget_textmargins.h"
#include "propertywidget_flop.h"
#include "propertywidget_optmargins.h"
#include "propertywidget_orphans.h"
@@ -80,6 +81,9 @@ PropertiesPalette_Text::PropertiesPalette_Text( QWidget* parent) : QWidget(paren
dropcapsBox = new PropertyWidget_DropCap(textTree);
dropcapsItem = textTree->addWidget( tr("Drop Cap"), dropcapsBox);
+ marginsBox = new PropertyWidget_TextMargins(textTree);
+ marginsItem = textTree->addWidget( tr("Text Margins"), marginsBox);
+
distanceWidgets = new PropertyWidget_Distance(textTree);
distanceItem = textTree->addWidget( tr("Columns && Text Distances"), distanceWidgets);
@@ -121,6 +125,7 @@ void PropertiesPalette_Text::setMainWindow(ScribusMainWindow* mw)
colorWidgets->setMainWindow(mw);
distanceWidgets->setMainWindow(mw);
dropcapsBox->setMainWindow(mw);
+ marginsBox->setMainWindow(mw);
optMargins->setMainWindow(mw);
pathTextWidgets->setMainWindow(mw);
@@ -159,6 +164,7 @@ void PropertiesPalette_Text::setDoc(ScribusDoc *d)
dropcapsBox->setDoc(m_doc);
flopBox->setDoc(m_doc);
optMargins->setDoc(m_doc);
+ marginsBox->setDoc(m_doc);
orphanBox->setDoc(m_doc);
pathTextWidgets->setDoc(m_doc);
@@ -191,6 +197,7 @@ void PropertiesPalette_Text::unsetDoc()
distanceWidgets->setDoc(0);
flopBox->setDoc(0);
optMargins->setDoc(0);
+ marginsBox->setDoc(0);
orphanBox->setDoc(0);
dropcapsBox->setDoc(0);
pathTextWidgets->setDoc(0);
@@ -373,6 +380,7 @@ void PropertiesPalette_Text::unitChange()
distanceWidgets->unitChange();
flopBox->unitChange();
optMargins->unitChange();
+ marginsBox->unitChange();
pathTextWidgets->unitChange();
dropcapsBox->unitChange();
@@ -493,6 +501,7 @@ void PropertiesPalette_Text::updateStyle(const ParagraphStyle& newCurrent)
advancedWidgets->updateStyle(newCurrent);
colorWidgets->updateStyle(newCurrent);
optMargins->updateStyle(newCurrent);
+ marginsBox->updateStyle(newCurrent);
orphanBox->updateStyle (newCurrent);
dropcapsBox->updateStyle(newCurrent);
@@ -676,6 +685,7 @@ void PropertiesPalette_Text::languageChange()
flopItem->setText(0, tr("First Line Offset"));
distanceItem->setText(0, tr("Columns && Text Distances"));
optMarginsItem->setText(0, tr("Optical Margins"));
+ marginsItem->setText(0, tr("Text Margins"));
orphanItem->setText(0, tr("Orphans and Widows"));
pathTextItem->setText(0, tr("Path Text Properties"));
@@ -695,6 +705,7 @@ void PropertiesPalette_Text::languageChange()
distanceWidgets->languageChange();
flopBox->languageChange();
optMargins->languageChange();
+ marginsBox->languageChange();
orphanBox->languageChange();
pathTextWidgets->languageChange();
diff --git Scribus/scribus/ui/propertiespalette_text.h Scribus/scribus/ui/propertiespalette_text.h
index d4c73db..9db0af9 100644
--- Scribus/scribus/ui/propertiespalette_text.h
+++ Scribus/scribus/ui/propertiespalette_text.h
@@ -26,6 +26,7 @@ class PageItem;
class PropertyWidget_Advanced;
class PropertyWidget_Distance;
class PropertyWidget_DropCap;
+class PropertyWidget_TextMargins;
class PropertyWidget_Flop;
class PropertyWidget_OptMargins;
class PropertyWidget_Orphans;
@@ -137,6 +138,9 @@ protected:
PropertyWidget_DropCap* dropcapsBox;
QTreeWidgetItem* dropcapsItem;
+ PropertyWidget_TextMargins* marginsBox;
+ QTreeWidgetItem* marginsItem;
+
PropertyWidget_PathText* pathTextWidgets;
QTreeWidgetItem* pathTextItem;
};
diff --git Scribus/scribus/ui/propertywidget_optmargins.cpp Scribus/scribus/ui/propertywidget_optmargins.cpp
index 5d80362..365ec21 100644
--- Scribus/scribus/ui/propertywidget_optmargins.cpp
+++ Scribus/scribus/ui/propertywidget_optmargins.cpp
@@ -199,6 +199,7 @@ void PropertyWidget_OptMargins::resetOpticalMargins()
Selection tempSelection(this, false);
tempSelection.addItem(item, true);
m_doc->itemSelection_resetOpticalMargins(&tempSelection);
+ setCurrentItem(item);
}
}
diff --git Scribus/scribus/ui/propertywidget_textmargins.cpp Scribus/scribus/ui/propertywidget_textmargins.cpp
new file mode 100644
index 0000000..0f15940
--- /dev/null
+++ Scribus/scribus/ui/propertywidget_textmargins.cpp
@@ -0,0 +1,257 @@
+#include "propertywidget_textmargins.h"
+#include "pageitem_textframe.h"
+#include "scribus.h"
+#include "scribusdoc.h"
+#include "selection.h"
+//#include "tabmanager.h"
+#include "units.h"
+//#include "util_icon.h"
+
+PropertyWidget_TextMargins::PropertyWidget_TextMargins(QWidget *parent) : QFrame(parent)
+{
+ m_item = 0;
+ m_ScMW = 0;
+
+ setupUi(this);
+
+ setFrameStyle(QFrame::Box | QFrame::Plain);
+ setLineWidth(1);
+
+ layout()->setAlignment( Qt::AlignTop );
+ firstLabel->setBuddy(firstLine);
+ firstLine->setValues(-9999,9999,2,0);
+ leftLabel->setBuddy(leftIndent);
+ leftIndent->setValues(0,9999,2,0);
+ rightLabel->setBuddy(rightIndent);
+ rightIndent->setValues(-9999,9999,2,0);
+ aboveLabel->setBuddy(spaceAbove);
+ spaceAbove->setValues(-9999,9999,2,0);
+ belowLabel->setBuddy(spaceBelow);
+ spaceBelow->setValues(-9999,9999,2,0);
+
+ languageChange();
+}
+
+void PropertyWidget_TextMargins::changeEvent(QEvent *e)
+{
+ if (e->type() == QEvent::LanguageChange)
+ {
+ languageChange();
+ return;
+ }
+ QWidget::changeEvent(e);
+}
+
+void PropertyWidget_TextMargins::setMainWindow(ScribusMainWindow *mw)
+{
+ m_ScMW = mw;
+
+ connect(m_ScMW, SIGNAL(AppModeChanged(int, int)), this, SLOT(handleAppModeChanged(int, int)));
+ connect(m_ScMW, SIGNAL(UpdateRequest(int)) , this, SLOT(handleUpdateRequest(int)));
+}
+
+void PropertyWidget_TextMargins::setDoc(ScribusDoc *d)
+{
+ if(d == (ScribusDoc*) m_doc)
+ return;
+
+ if (m_doc)
+ {
+ disconnect(m_doc->m_Selection, SIGNAL(selectionChanged()), this, SLOT(handleSelectionChanged()));
+ disconnect(m_doc , SIGNAL(docChanged()) , this, SLOT(handleSelectionChanged()));
+ }
+
+ m_doc = d;
+ m_item = NULL;
+
+ if (m_doc.isNull())
+ {
+ disconnectSignals();
+ return;
+ }
+
+ m_unitRatio = m_doc->unitRatio();
+ m_unitIndex = m_doc->unitIndex();
+
+ firstLine->setDecimals(2);
+ leftIndent->setDecimals(2);
+ rightIndent->setDecimals(2);
+ spaceAbove->setDecimals(2);
+ spaceBelow->setDecimals(2);
+
+ connect(m_doc->m_Selection, SIGNAL(selectionChanged()), this, SLOT(handleSelectionChanged()));
+ connect(m_doc , SIGNAL(docChanged()) , this, SLOT(handleSelectionChanged()));
+}
+
+void PropertyWidget_TextMargins::handleAppModeChanged(int oldMode, int mode)
+{
+ if (oldMode == modeEditTable || mode == modeEditTable)
+ {
+ setCurrentItem(m_item);
+ }
+}
+
+void PropertyWidget_TextMargins::handleSelectionChanged()
+{
+ if (!m_doc || !m_ScMW || m_ScMW->scriptIsRunning())
+ return;
+
+ PageItem* currItem = currentItemFromSelection();
+ setCurrentItem(currItem);
+ updateGeometry();
+ repaint();
+}
+
+void PropertyWidget_TextMargins::handleUpdateRequest(int)
+{
+}
+
+void PropertyWidget_TextMargins::languageChange()
+{
+ firstLabel->setText( tr("First Line Indent") );
+ leftLabel->setText( tr("Left Indent") );
+ rightLabel->setText( tr("Right Indent") );
+ aboveLabel->setText( tr("Space Above") );
+ belowLabel->setText( tr("Space Below") );
+ resetButton->setText( tr("Reset") );
+}
+
+void PropertyWidget_TextMargins::unitChange()
+{
+ if (!m_doc)
+ return;
+
+ m_unitRatio = m_doc->unitRatio();
+ m_unitIndex = m_doc->unitIndex();
+
+ firstLine->blockSignals(true);
+ leftIndent->blockSignals(true);
+ rightIndent->blockSignals(true);
+ spaceAbove->blockSignals(true);
+ spaceBelow->blockSignals(true);
+
+ firstLine->setNewUnit( m_unitIndex );
+ leftIndent->setNewUnit( m_unitIndex );
+ rightIndent->setNewUnit( m_unitIndex );
+ spaceAbove->setNewUnit( m_unitIndex );
+ spaceBelow->setNewUnit( m_unitIndex );
+
+ firstLine->blockSignals(false);
+ leftIndent->blockSignals(false);
+ rightIndent->blockSignals(false);
+ spaceAbove->blockSignals(false);
+ spaceBelow->blockSignals(false);
+}
+
+void PropertyWidget_TextMargins::displayMargins(const ParagraphStyle &pStyle)
+{
+ bool blocked = firstLine->blockSignals(true);
+ leftIndent->blockSignals(true);
+ rightIndent->blockSignals(true);
+ spaceAbove->blockSignals(true);
+ spaceBelow->blockSignals(true);
+
+ firstLine->setValue(pStyle.firstIndent());
+ leftIndent->setValue(pStyle.leftMargin());
+ rightIndent->setValue(pStyle.rightMargin());
+ spaceAbove->setValue(pStyle.gapBefore());
+ spaceBelow->setValue(pStyle.gapAfter());
+
+ firstLine->blockSignals(blocked);
+ leftIndent->blockSignals(blocked);
+ rightIndent->blockSignals(blocked);
+ spaceAbove->blockSignals(blocked);
+ spaceBelow->blockSignals(blocked);
+}
+
+void PropertyWidget_TextMargins::handleMargins()
+{
+ if (!m_doc || !m_item || !m_ScMW || m_ScMW->scriptIsRunning())
+ return;
+ PageItem *item = m_item;
+// if (m_doc->appMode == modeEditTable)
+// item = m_item->asTable()->activeCell().textFrame();
+ if (item != NULL)
+ {
+ Selection tempSelection(this, false);
+ tempSelection.addItem(item, true);
+ m_doc->itemSelection_SetIndentsMargins(firstLine->value(), leftIndent->value(), rightIndent->value(), spaceAbove->value(), spaceBelow->value(), &tempSelection);
+ }
+}
+
+void PropertyWidget_TextMargins::resetMargins()
+{
+ if (!m_doc || !m_item || !m_ScMW || m_ScMW->scriptIsRunning())
+ return;
+ PageItem *item = m_item;
+// if (m_doc->appMode == modeEditTable)
+// item = m_item->asTable()->activeCell().textFrame();
+ if (item != NULL)
+ {
+ Selection tempSelection(this, false);
+ tempSelection.addItem(item, true);
+ m_doc->itemSelection_resetIndentsMargins(&tempSelection);
+ setCurrentItem(item);
+ }
+}
+
+void PropertyWidget_TextMargins::connectSignals()
+{
+ connect(firstLine, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()), Qt::UniqueConnection);
+ connect(leftIndent, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()), Qt::UniqueConnection);
+ connect(rightIndent, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()), Qt::UniqueConnection);
+ connect(spaceAbove, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()), Qt::UniqueConnection);
+ connect(spaceBelow, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()), Qt::UniqueConnection);
+ connect(resetButton, SIGNAL(clicked()), this, SLOT(resetMargins()) );
+}
+
+void PropertyWidget_TextMargins::disconnectSignals()
+{
+ disconnect(firstLine, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()));
+ disconnect(leftIndent, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()));
+ disconnect(rightIndent, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()));
+ disconnect(spaceAbove, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()));
+ disconnect(spaceBelow, SIGNAL(valueChanged(double)), this, SLOT(handleMargins()));
+ disconnect(resetButton, SIGNAL(clicked()), this, SLOT(resetMargins()) );
+}
+
+void PropertyWidget_TextMargins::configureWidgets()
+{
+ bool enabled = false;
+ if (m_item && m_doc)
+ {
+ PageItem_TextFrame* textItem = m_item->asTextFrame();
+// if (m_doc->appMode == modeEditTable)
+// textItem = m_item->asTable()->activeCell().textFrame();
+
+ enabled = (m_item->isPathText() || (textItem != NULL));
+ enabled &= (m_doc->m_Selection->count() == 1);
+ }
+ setEnabled(enabled);
+}
+
+void PropertyWidget_TextMargins::setCurrentItem(PageItem *item)
+{
+ if (!m_ScMW || m_ScMW->scriptIsRunning())
+ return;
+ if (item && m_doc.isNull())
+ setDoc(item->doc());
+
+ m_item = item;
+
+ disconnectSignals();
+ configureWidgets();
+
+ if (m_item)
+ {
+ if (m_item->asTextFrame() || m_item->asPathText())
+ {
+ ParagraphStyle parStyle = m_item->itemText.defaultStyle();
+ if (m_doc->appMode == modeEdit)
+ m_item->currentTextProps(parStyle);
+ displayMargins(parStyle);
+ }
+
+ connectSignals();
+ }
+}
diff --git Scribus/scribus/ui/propertywidget_textmargins.h Scribus/scribus/ui/propertywidget_textmargins.h
new file mode 100644
index 0000000..f47b585
--- /dev/null
+++ Scribus/scribus/ui/propertywidget_textmargins.h
@@ -0,0 +1,53 @@
+#ifndef PROPERTYWIDGET_TEXTMARGINS_H
+#define PROPERTYWIDGET_TEXTMARGINS_H
+
+#include "ui_propertywidget_textmarginsbase.h"
+#include "propertywidgetbase.h"
+
+class PageItem;
+class ParagraphStyle;
+class ScribusMainWindow;
+
+class PropertyWidget_TextMargins : public QFrame, private Ui::PropertyWidget_TextMarginsBase, public PropertyWidgetBase
+{
+ Q_OBJECT
+
+public:
+ explicit PropertyWidget_TextMargins(QWidget *parent = 0);
+ ~PropertyWidget_TextMargins() {}
+
+ void updateStyle(const ParagraphStyle &newCurrent) { displayMargins(newCurrent); }
+
+protected:
+ PageItem * m_item;
+ ScribusMainWindow* m_ScMW;
+ double m_unitRatio;
+ int m_unitIndex;
+
+ void connectSignals();
+ void disconnectSignals();
+
+ void configureWidgets(void);
+ void setCurrentItem(PageItem *item);
+
+ virtual void changeEvent(QEvent *e);
+
+public slots:
+ void setMainWindow(ScribusMainWindow *mw);
+ void setDoc(ScribusDoc *d);
+
+ void handleAppModeChanged(int oldMode, int mode);
+ void handleSelectionChanged();
+ void handleUpdateRequest(int);
+
+ void languageChange();
+ void unitChange();
+
+ void displayMargins(const ParagraphStyle& pStyle);
+
+private slots:
+ void handleMargins();
+ void resetMargins();
+};
+
+#endif // PROPERTYWIDGET_TEXTMARGINS_H
\ No newline at end of file
diff --git Scribus/scribus/ui/propertywidget_textmarginsbase.ui Scribus/scribus/ui/propertywidget_textmarginsbase.ui
new file mode 100644
index 0000000..6774972
--- /dev/null
+++ Scribus/scribus/ui/propertywidget_textmarginsbase.ui
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PropertyWidget_TextMarginsBase</class>
+ <widget class="QFrame" name="PropertyWidget_TextMarginsBase">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>210</width>
+ <height>162</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Frame</string>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <property name="margin">
+ <number>5</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <item row="4" column="1">
+ <widget class="ScrSpinBox" name="spaceBelow">
+ <property name="maximum">
+ <double>9999.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="ScrSpinBox" name="rightIndent">
+ <property name="maximum">
+ <double>9999.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="ScrSpinBox" name="leftIndent">
+ <property name="maximum">
+ <double>9999.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0" colspan="2">
+ <widget class="QToolButton" name="resetButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Reset</string>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="belowLabel">
+ <property name="text">
+ <string>Space &Below</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="rightLabel">
+ <property name="text">
+ <string>&Right Indent</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0">
+ <widget class="QLabel" name="firstLabel">
+ <property name="text">
+ <string>&First Line Indent</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="aboveLabel">
+ <property name="text">
+ <string>Space &Above</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="ScrSpinBox" name="spaceAbove">
+ <property name="maximum">
+ <double>9999.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="leftLabel">
+ <property name="text">
+ <string>&Left Indent</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="ScrSpinBox" name="firstLine">
+ <property name="minimum">
+ <double>-9999.000000000000000</double>
+ </property>
+ <property name="maximum">
+ <double>9999.000000000000000</double>
+ </property>
+ <property name="value">
+ <double>0.000000000000000</double>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>ScrSpinBox</class>
+ <extends>QDoubleSpinBox</extends>
+ <header>ui/scrspinbox.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
| ||||
| Patch | Yes | ||||
|
|
planned for the new PP... all the setting wil be in the PP and in the styles. |
|
|
I think this is one of things we could do before 1.6. And should be done as we could... Personally I am not so optimistic about 1.6 release date (afraid far beyond 2012) and would like to see 1.4.x as good as possible. |
|
|
Fixed in branch ProPal. |
|
|
Please do not mark as fixed unless patch has been provided and committed in SVN trunk. |
|
|
Patch provided. Check if it is applyable (here is). |
|
|
Thanks. A few notes about that patch : - when doc unit is mm (for eg.), entered values are not properly set to doc. - values entered in the dialog are set altogether to paragraphy style : this must not be done in this way. Each value must be set to paragraph style individually, otherwise values set in a paragraph style may be overriden with same values but local formatting. - itemSelection_SetIndentMargins() and itemSelection_resetIndentMargins() should not modify 'gap before' and 'gap after' paragraph, those values are not related to text indentation. - reset button is imo unneeded : the paragraph style sweeper will do same job and have better behavior when a paragraph is formatted with a named paragraph style. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-06-27 10:09 | StefanM | New Issue | |
| 2011-06-27 11:42 | ale | Note Added: 0026488 | |
| 2011-06-27 13:34 |
|
Note Added: 0026492 | |
| 2011-06-27 13:38 |
|
Note Edited: 0026492 | |
| 2012-07-25 09:52 |
|
Assigned To | => cezaryece |
| 2012-07-25 09:52 |
|
Status | new => assigned |
| 2012-07-25 09:52 |
|
Note Added: 0028607 | |
| 2012-07-25 09:52 |
|
Status | assigned => resolved |
| 2012-07-25 09:52 |
|
Fixed in Version | => 1.5.0svn |
| 2012-07-25 09:52 |
|
Resolution | open => fixed |
| 2012-07-25 10:08 | jghali | Note Added: 0028612 | |
| 2012-07-25 10:08 | jghali | Status | resolved => assigned |
| 2012-07-25 10:08 | jghali | Resolution | fixed => open |
| 2012-07-25 10:08 | jghali | Fixed in Version | 1.5.0svn => |
| 2012-07-25 10:36 |
|
File Added: margins.diff | |
| 2012-07-25 10:37 |
|
Assigned To | cezaryece => jghali |
| 2012-07-25 10:37 |
|
Note Added: 0028615 | |
| 2012-08-13 11:15 | ale | Summary | Add indentation control etc. to Properties Palette => [patch] Add indentation control etc. to Properties Palette |
| 2012-08-15 20:26 | jghali | Note Added: 0028821 | |
| 2014-10-24 23:00 | Kunda | Patch | => Yes |