Displaying the number of standardized pages in the Word count window

The number of standardized pages (unit defined in the options)
for the entire document and the selected area is displayed
(if enabled in options) in the Word count window.
The number of pages of size P for an area containing N characters equals P/N.
This value is a float with one decimal place precision.
The default size of the standardized page is 1800 characters
(including whitespace characters).

The configuration can be altered in Options->Writer->General.

Conflicts:
	sw/source/ui/config/optload.cxx

Change-Id: If13e87c73cb7706ff6618fa0352ba29c7c670aec
Reviewed-on: https://gerrit.libreoffice.org/7642
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Michal Siedlaczek 2014-01-25 11:19:16 +01:00 committed by Caolán McNamara
parent 63bc29b2a8
commit 43cd2f79da
7 changed files with 539 additions and 325 deletions

View file

@ -5463,6 +5463,32 @@
</info>
<value>—–</value>
</prop>
<prop oor:name="ShowStandardizedPageCount" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>configures if standardized page count should be displayed on the Word Count window</desc>
<label>Show Standardized Page Count</label>
</info>
<value>false</value>
</prop>
<prop oor:name="StandardizedPageSize" oor:type="xs:int" oor:nillable="false">
<info>
<desc>configures how many characters is considered one standardized page</desc>
<label>Characters Per Standardized Page</label>
</info>
<constraints>
<minInclusive oor:value="1">
<info>
<desc>Specifies the minimum value allowed.</desc>
</info>
</minInclusive>
<maxInclusive oor:value="100000">
<info>
<desc>Specifies the maximum value allowed.</desc>
</info>
</maxInclusive>
</constraints>
<value>1800</value>
</prop>
</group>
<group oor:name="Navigator">
<info>

View file

@ -39,25 +39,28 @@ class SwWrtShell;
class SwLoadOptPage : public SfxTabPage
{
private:
RadioButton* m_pAlwaysRB;
RadioButton* m_pRequestRB;
RadioButton* m_pNeverRB;
RadioButton* m_pAlwaysRB;
RadioButton* m_pRequestRB;
RadioButton* m_pNeverRB;
CheckBox* m_pAutoUpdateFields;
CheckBox* m_pAutoUpdateCharts;
CheckBox* m_pAutoUpdateFields;
CheckBox* m_pAutoUpdateCharts;
ListBox* m_pMetricLB;
FixedText* m_pTabFT;
MetricField* m_pTabMF;
CheckBox* m_pUseSquaredPageMode;
CheckBox* m_pUseCharUnit;
Edit* m_pWordCountED;
ListBox* m_pMetricLB;
FixedText* m_pTabFT;
MetricField* m_pTabMF;
CheckBox* m_pUseSquaredPageMode;
CheckBox* m_pUseCharUnit;
Edit* m_pWordCountED;
CheckBox* m_pShowStandardizedPageCount;
NumericField* m_pStandardizedPageSizeNF;
SwWrtShell* m_pWrtShell;
sal_uInt16 m_nLastTab;
sal_Int32 m_nOldLinkMode;
SwWrtShell* m_pWrtShell;
sal_uInt16 m_nLastTab;
sal_Int32 m_nOldLinkMode;
DECL_LINK(MetricHdl, void *);
DECL_LINK(StandardizedPageCountCheckHdl, void *);
public:
SwLoadOptPage(Window* pParent, const SfxItemSet& rSet);

View file

@ -31,18 +31,22 @@ class SwWordCountFloatDlg : public SfxModelessDialog
virtual void Activate() SAL_OVERRIDE;
void SetValues(const SwDocStat& rCurrent, const SwDocStat& rDoc);
void showCJK(bool bShowCJK);
void showStandardizedPages(bool bShowStandardizedPages);
FixedText* m_pCurrentWordFT;
FixedText* m_pCurrentCharacterFT;
FixedText* m_pCurrentCharacterExcludingSpacesFT;
FixedText* m_pCurrentCjkcharsFT;
FixedText* m_pCurrentStandardizedPagesFT;
FixedText* m_pDocWordFT;
FixedText* m_pDocCharacterFT;
FixedText* m_pDocCharacterExcludingSpacesFT;
FixedText* m_pDocCjkcharsFT;
FixedText* m_pDocStandardizedPagesFT;
FixedText* m_pCjkcharsLabelFT;
FixedText* m_pStandardizedPagesLabelFT;
CloseButton* m_pClosePB;

View file

@ -81,6 +81,8 @@ SwLoadOptPage::SwLoadOptPage(Window* pParent, const SfxItemSet& rSet)
get(m_pUseSquaredPageMode, "squaremode");
get(m_pUseCharUnit, "usecharunit");
get(m_pWordCountED, "wordcount");
get(m_pShowStandardizedPageCount, "standardizedpageshow");
get(m_pStandardizedPageSizeNF, "standardpagesize");
SvxStringArray aMetricArr( SW_RES( STR_ARR_METRIC ) );
for ( sal_uInt32 i = 0; i < aMetricArr.Count(); ++i )
@ -119,6 +121,9 @@ SwLoadOptPage::SwLoadOptPage(Window* pParent, const SfxItemSet& rSet)
m_pUseSquaredPageMode->Hide();
m_pUseCharUnit->Hide();
}
Link aLink = LINK(this, SwLoadOptPage, StandardizedPageCountCheckHdl);
m_pShowStandardizedPageCount->SetClickHdl(aLink);
}
SfxTabPage* SwLoadOptPage::Create( Window* pParent,
@ -127,6 +132,12 @@ SfxTabPage* SwLoadOptPage::Create( Window* pParent,
return new SwLoadOptPage(pParent, rAttrSet );
}
IMPL_LINK_NOARG(SwLoadOptPage, StandardizedPageCountCheckHdl)
{
m_pStandardizedPageSizeNF->Enable(m_pShowStandardizedPageCount->IsChecked());
return 0;
}
bool SwLoadOptPage::FillItemSet( SfxItemSet& rSet )
{
bool bRet = false;
@ -198,8 +209,30 @@ bool SwLoadOptPage::FillItemSet( SfxItemSet& rSet )
bRet = true;
}
if (m_pShowStandardizedPageCount->GetState() != m_pShowStandardizedPageCount->GetSavedValue())
{
boost::shared_ptr< comphelper::ConfigurationChanges > batch(
comphelper::ConfigurationChanges::create());
officecfg::Office::Writer::WordCount::ShowStandardizedPageCount::set(
m_pShowStandardizedPageCount->IsChecked(),
batch);
batch->commit();
bRet = sal_True;
}
if (m_pStandardizedPageSizeNF->GetText() != m_pStandardizedPageSizeNF->GetSavedValue())
{
boost::shared_ptr< comphelper::ConfigurationChanges > batch(
comphelper::ConfigurationChanges::create());
officecfg::Office::Writer::WordCount::StandardizedPageSize::set(
m_pStandardizedPageSizeNF->GetValue(),
batch);
batch->commit();
bRet = sal_True;
}
bool bIsSquaredPageModeFlag = m_pUseSquaredPageMode->IsChecked();
if ( m_pUseSquaredPageMode->IsValueChangedFromSaved() )
if ( bIsSquaredPageModeFlag != m_pUseSquaredPageMode->GetSavedValue() )
{
pMod->ApplyDefaultPageMode( bIsSquaredPageModeFlag );
if ( m_pWrtShell )
@ -291,6 +324,11 @@ void SwLoadOptPage::Reset( const SfxItemSet& rSet)
m_pWordCountED->SetText(officecfg::Office::Writer::WordCount::AdditionalSeparators::get());
m_pWordCountED->SaveValue();
m_pShowStandardizedPageCount->Check(officecfg::Office::Writer::WordCount::ShowStandardizedPageCount::get());
m_pShowStandardizedPageCount->SaveValue();
m_pStandardizedPageSizeNF->SetValue(officecfg::Office::Writer::WordCount::StandardizedPageSize::get());
m_pStandardizedPageSizeNF->SaveValue();
m_pStandardizedPageSizeNF->Enable(m_pShowStandardizedPageCount->IsChecked());
}
IMPL_LINK_NOARG(SwLoadOptPage, MetricHdl)

View file

@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <officecfg/Office/Writer.hxx>
#include <swtypes.hxx>
#include <wordcountdialog.hxx>
#include <docstat.hxx>
@ -54,6 +55,12 @@ namespace
{
pWidget->SetText(rLocaleData.getNum(nValue, 0));
}
void setDoubleValue(FixedText *pWidget, double fValue)
{
OUString sValue(OUString::number(::rtl::math::round(fValue, 1)));
pWidget->SetText(sValue);
}
}
void SwWordCountFloatDlg::SetValues(const SwDocStat& rCurrent, const SwDocStat& rDoc)
@ -68,6 +75,15 @@ void SwWordCountFloatDlg::SetValues(const SwDocStat& rCurrent, const SwDocStat&
setValue(m_pDocCharacterExcludingSpacesFT, rDoc.nCharExcludingSpaces, rLocaleData);
setValue(m_pDocCjkcharsFT, rDoc.nAsianWord, rLocaleData);
if (m_pStandardizedPagesLabelFT->IsVisible())
{
sal_Int64 nCharsPerStandardizedPage = officecfg::Office::Writer::WordCount::StandardizedPageSize::get();
setDoubleValue(m_pCurrentStandardizedPagesFT,
(double)rCurrent.nChar / nCharsPerStandardizedPage);
setDoubleValue(m_pDocStandardizedPagesFT,
(double)rDoc.nChar / nCharsPerStandardizedPage);
}
bool bShowCJK = (SvtCJKOptions().IsAnyEnabled() || rDoc.nAsianWord);
bool bToggleCJK = m_pCurrentCjkcharsFT->IsVisible() != bShowCJK;
if (bToggleCJK)
@ -84,6 +100,13 @@ void SwWordCountFloatDlg::showCJK(bool bShowCJK)
m_pCjkcharsLabelFT->Show(bShowCJK);
}
void SwWordCountFloatDlg::showStandardizedPages(bool bShowStandardizedPages)
{
m_pCurrentStandardizedPagesFT->Show(bShowStandardizedPages);
m_pDocStandardizedPagesFT->Show(bShowStandardizedPages);
m_pStandardizedPagesLabelFT->Show(bShowStandardizedPages);
}
SwWordCountFloatDlg::SwWordCountFloatDlg(SfxBindings* _pBindings,
SfxChildWindow* pChild,
Window *pParent,
@ -94,17 +117,21 @@ SwWordCountFloatDlg::SwWordCountFloatDlg(SfxBindings* _pBindings,
get(m_pCurrentCharacterFT, "selectchars");
get(m_pCurrentCharacterExcludingSpacesFT, "selectcharsnospaces");
get(m_pCurrentCjkcharsFT, "selectcjkchars");
get(m_pCurrentStandardizedPagesFT, "selectstandardizedpages");
get(m_pDocWordFT, "docwords");
get(m_pDocCharacterFT, "docchars");
get(m_pDocCharacterExcludingSpacesFT, "doccharsnospaces");
get(m_pDocCjkcharsFT, "doccjkchars");
get(m_pDocStandardizedPagesFT, "docstandardizedpages");
get(m_pCjkcharsLabelFT, "cjkcharsft");
get(m_pStandardizedPagesLabelFT, "standardizedpages");
get(m_pClosePB, "close");
showCJK(SvtCJKOptions().IsAnyEnabled());
showStandardizedPages(officecfg::Office::Writer::WordCount::ShowStandardizedPageCount::get());
Initialize(pInfo);

View file

@ -8,112 +8,209 @@
<property name="step_increment">0.10000000000000001</property>
<property name="page_increment">10</property>
</object>
<object class="GtkBox" id="OptGeneralPage">
<object class="GtkAdjustment" id="adjustment-sps">
<property name="lower">1</property>
<property name="upper">100000</property>
<property name="value">1800</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkScrolledWindow" id="scrolledwindow1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<property name="vexpand">True</property>
<property name="shadow_type">in</property>
<property name="vscrollbar_policy">always</property>
<child>
<object class="GtkGrid" id="grid1">
<object class="GtkBox" id="OptGeneralPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">18</property>
<property name="column_spacing">12</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkGrid" id="grid2">
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">18</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkFrame" id="frame1">
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkAlignment" id="alignment1">
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkGrid" id="grid3">
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkRadioButton" id="always">
<property name="label" translatable="yes">_Always</property>
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">onrequest</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkRadioButton" id="always">
<property name="label" translatable="yes">_Always</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">onrequest</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="onrequest">
<property name="label" translatable="yes">_On request</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">never</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="never">
<property name="label" translatable="yes">_Never</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">always</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="onrequest">
<property name="label" translatable="yes">_On request</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">never</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="never">
<property name="label" translatable="yes">_Never</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="group">always</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Update links when loading</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<child>
<object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Update links when loading</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkCheckButton" id="updatefields">
<property name="label" translatable="yes">_Fields</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="updatecharts">
<property name="label" translatable="yes">_Charts</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Automatically Update</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
@ -124,32 +221,31 @@
</packing>
</child>
<child>
<object class="GtkFrame" id="frame2">
<object class="GtkFrame" id="frame3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid4">
<object class="GtkGrid" id="grid5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkCheckButton" id="updatefields">
<property name="label" translatable="yes">_Fields</property>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<property name="label" translatable="yes">_Measurement unit</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">metric</property>
</object>
<packing>
<property name="left_attach">0</property>
@ -159,8 +255,162 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="updatecharts">
<property name="label" translatable="yes">_Charts</property>
<object class="GtkComboBoxText" id="metric">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="tablabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Tab stops</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">tab:0.00cm</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="tab:0.00cm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="invisible_char">●</property>
<property name="adjustment">adjustment1</property>
<property name="digits">2</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="usecharunit">
<property name="label" translatable="yes">_Enable char unit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="squaremode">
<property name="label" translatable="yes">_Use square page mode for text grid</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Settings</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Additional separators</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">wordcount</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="wordcount">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="standardizedpageshow">
<property name="label" translatable="yes">Show standardized page count</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
@ -171,6 +421,38 @@
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="labelstandardpages">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Characters per standardized page</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">standardpagesize</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="standardpagesize">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="invisible_char">●</property>
<property name="adjustment">adjustment-sps</property>
<property name="digits">0</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
@ -180,10 +462,10 @@
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label2">
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Automatically Update</property>
<property name="label" translatable="yes">Word Count</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
@ -191,236 +473,20 @@
</child>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label5">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Measurement unit</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">metric</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="metric">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="entry_text_column">0</property>
<property name="id_column">1</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="tablabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Tab stops</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">tab:0.00cm</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="tab:0.00cm">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="halign">start</property>
<property name="invisible_char">●</property>
<property name="adjustment">adjustment1</property>
<property name="digits">2</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="usecharunit">
<property name="label" translatable="yes">_Enable char unit</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="squaremode">
<property name="label" translatable="yes">_Use square page mode for text grid</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Settings</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkLabel" id="label7">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Additional separators</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">wordcount</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="wordcount">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="hexpand">True</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Word Count</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</interface>

View file

@ -290,6 +290,54 @@
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="standardizedpages">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Standardized pages</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="selectstandardizedpages">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="xalign">1</property>
<property name="label"> 0</property>
<property name="justify">right</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="docstandardizedpages">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="xalign">1</property>
<property name="label"> 0</property>
<property name="justify">right</property>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
@ -313,11 +361,13 @@
<widget name="selectwords"/>
<widget name="selectchars"/>
<widget name="selectcharsnospaces"/>
<widget name="selectcjkchars"/>
<widget name="selectstandardizedpages"/>
<widget name="docwords"/>
<widget name="docchars"/>
<widget name="doccharsnospaces"/>
<widget name="selectcjkchars"/>
<widget name="doccjkchars"/>
<widget name="docstandardizedpages"/>
</widgets>
</object>
</interface>