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. | ||||
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. |
|
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 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 | cezaryece | Note Added: 0026492 | |
2011-06-27 13:38 | cezaryece | Note Edited: 0026492 | |
2012-07-25 09:52 | cezaryece | Assigned To | => cezaryece |
2012-07-25 09:52 | cezaryece | Status | new => assigned |
2012-07-25 09:52 | cezaryece | Note Added: 0028607 | |
2012-07-25 09:52 | cezaryece | Status | assigned => resolved |
2012-07-25 09:52 | cezaryece | Fixed in Version | => 1.5.0svn |
2012-07-25 09:52 | cezaryece | 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 | cezaryece | File Added: margins.diff | |
2012-07-25 10:37 | cezaryece | Assigned To | cezaryece => jghali |
2012-07-25 10:37 | cezaryece | 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 |