connect(okPB, SIGNAL(clicked()), this, SLOT(slotOK()));
connect(applyPB, SIGNAL(clicked()), this, SLOT(slotApply()));
connect(closePB, SIGNAL(clicked()), this, SLOT(slotClose()));
+ connect(resetPB, SIGNAL(clicked()), this, SLOT(slotRestore()));
connect(autoapplyCB, SIGNAL(stateChanged(int)), this,
SLOT(slotAutoApply()));
bc().setApply(applyPB);
bc().setCancel(closePB);
bc().setAutoApply(autoapplyCB);
+ bc().setRestore(resetPB);
bc().addReadOnly(familyCO);
bc().addReadOnly(seriesCO);
bc().addReadOnly(sizeCO);
}
-void GuiCharacter::change_adaptor()
+void GuiCharacter::on_restorePB_clicked()
{
- changed();
-
- if (!autoapplyCB->isChecked())
- return;
-
- // to be really good here, we should set the combos to the values of
- // the current text, and make it appear as "no change" if the values
- // stay the same between applys. Might be difficult though wrt to a
- // moved cursor - jbl
- slotApply();
+ Font font(inherit_font);
+ font.setLanguage(reset_language);
+ paramsToDialog(font);
+ change_adaptor();
}
} // end namespace anon
+void GuiCharacter::change_adaptor()
+{
+ changed();
+
+ checkRestoreDefaults();
+
+ if (!autoapplyCB->isChecked())
+ return;
+
+ // to be really good here, we should set the combos to the values of
+ // the current text, and make it appear as "no change" if the values
+ // stay the same between applys. Might be difficult though wrt to a
+ // moved cursor - jbl
+ slotApply();
+}
+
+
+void GuiCharacter::checkRestoreDefaults()
+{
+ // (De)Activate Restore Defaults button
+ restorePB->setEnabled(
+ family[familyCO->currentIndex()].second != INHERIT_FAMILY
+ || series[seriesCO->currentIndex()].second != INHERIT_SERIES
+ || shape[shapeCO->currentIndex()].second != INHERIT_SHAPE
+ || size[sizeCO->currentIndex()].second != FONT_SIZE_INHERIT
+ || setMarkupState(emphCB->checkState()) != FONT_OFF
+ || setMarkupState(nounCB->checkState()) != FONT_OFF
+ || bar[ulineCO->currentIndex()].second != INHERIT
+ || strike[strikeCO->currentIndex()].second != INHERIT
+ || lcolor.getFromLyXName(fromqstr(colorCO->itemData(colorCO->currentIndex()).toString())) != Color_inherit
+ || languages.getLanguage(fromqstr(language[langCO->currentIndex()].second)) != reset_language);
+}
+
+
void GuiCharacter::updateContents()
{
if (bufferview()->cursor().selection()) {
font_.setLanguage(reset_language);
paramsToDialog(font_);
+
+ checkRestoreDefaults();
}
<rect>
<x>0</x>
<y>0</y>
- <width>523</width>
- <height>365</height>
+ <width>552</width>
+ <height>401</height>
</rect>
</property>
<property name="windowTitle">
</spacer>
</item>
<item row="3" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="autoapplyCB">
+ <property name="toolTip">
+ <string>Apply each change automatically</string>
+ </property>
+ <property name="text">
+ <string>Apply changes &immediately</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="4" column="0">
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
<number>0</number>
</property>
<item>
- <widget class="QCheckBox" name="autoapplyCB">
- <property name="toolTip">
- <string>Apply each change automatically</string>
+ <widget class="QPushButton" name="resetPB">
+ <property name="text">
+ <string>Reset</string>
</property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="restorePB">
<property name="text">
- <string>Apply changes &immediately</string>
+ <string>Restore Defaults</string>
</property>
</widget>
</item>