]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiParagraph.cpp
Complete the removal of the embedding stuff. Maybe. It's hard to be sure we got every...
[lyx.git] / src / frontends / qt4 / GuiParagraph.cpp
index 903a9ee76fddd0fea7455d3327bd414c80f1875f..b73a5f53ae7285ae7d48d84720671d1d400f0485 100644 (file)
@@ -15,6 +15,8 @@
 
 #include "GuiParagraph.h"
 
+#include "qt_helpers.h"
+
 #include "Buffer.h"
 #include "BufferParams.h"
 #include "BufferView.h"
 #include "Lexer.h"
 #include "Paragraph.h"
 #include "ParagraphParameters.h"
-#include "qt_helpers.h"
 #include "Spacing.h"
 
 #include "support/debug.h"
 #include "support/gettext.h"
 
 #include <QCheckBox>
-#include <QCloseEvent>
 #include <QLineEdit>
 #include <QPushButton>
 
@@ -64,6 +64,7 @@ GuiParagraph::GuiParagraph(GuiView & lv)
        // foreground and are hidden when the main window is not focused.
        setWindowFlags(Qt::Tool);
        synchronizedViewCB->setChecked(true);
+       closePB->setText(qt_("&Cancel"));
 #else
        synchronizedViewCB->setChecked(false);
 #endif
@@ -71,7 +72,7 @@ GuiParagraph::GuiParagraph(GuiView & lv)
        on_synchronizedViewCB_toggled();
        linespacingValue->setValidator(new QDoubleValidator(linespacingValue));
 
-       labelWidth->setWhatsThis( qt_(
+       labelWidth->setWhatsThis(qt_(
                "As described in the User Guide, the width of"
                " this text determines the width of the label part"
                " of each item in environments like List and"
@@ -82,18 +83,13 @@ GuiParagraph::GuiParagraph(GuiView & lv)
                " items is used."
        ));
 
-       radioMap[LYX_ALIGN_LAYOUT] = alignDefaultRB;
-       radioMap[LYX_ALIGN_BLOCK]  = alignJustRB;
-       radioMap[LYX_ALIGN_LEFT]   = alignLeftRB;
-       radioMap[LYX_ALIGN_RIGHT]  = alignRightRB;
-       radioMap[LYX_ALIGN_CENTER] = alignCenterRB;
-
-       labelMap[LYX_ALIGN_BLOCK]  = _("Justified");
-       labelMap[LYX_ALIGN_LEFT]   = _("Left");
-       labelMap[LYX_ALIGN_RIGHT]  = _("Right");
-       labelMap[LYX_ALIGN_CENTER] = _("Center");
+       radioMap_[LYX_ALIGN_LAYOUT] = alignDefaultRB;
+       radioMap_[LYX_ALIGN_BLOCK]  = alignJustRB;
+       radioMap_[LYX_ALIGN_LEFT]   = alignLeftRB;
+       radioMap_[LYX_ALIGN_RIGHT]  = alignRightRB;
+       radioMap_[LYX_ALIGN_CENTER] = alignCenterRB;
 
-       const_cast<QString &>(alignDefaultLabel) = alignDefaultRB->text();
+       alignDefaultLabel_ = alignDefaultRB->text();
 }
 
 
@@ -105,25 +101,31 @@ void GuiParagraph::on_linespacing_activated(int index)
 
 void GuiParagraph::checkAlignmentRadioButtons()
 {
-       RadioMap::iterator it = radioMap.begin();
-       for (; it != radioMap.end(); ++it) {
+       static std::map<LyXAlignment, QString> labelMap_;
+       if (labelMap_.empty()) {
+               labelMap_[LYX_ALIGN_BLOCK]  = qt_("Justified");
+               labelMap_[LYX_ALIGN_LEFT]   = qt_("Left");
+               labelMap_[LYX_ALIGN_RIGHT]  = qt_("Right");
+               labelMap_[LYX_ALIGN_CENTER] = qt_("Center");
+       }
+
+       RadioMap::iterator it = radioMap_.begin();
+       for (; it != radioMap_.end(); ++it) {
                LyXAlignment const align = it->first;
                it->second->setEnabled(align & alignPossible());
        }
        if (haveMultiParSelection())
-               alignDefaultRB->setText(alignDefaultLabel);
+               alignDefaultRB->setText(alignDefaultLabel_);
        else
-               alignDefaultRB->setText(alignDefaultLabel + " ("
-                       + toqstr(labelMap[alignDefault()]) + ")");
+               alignDefaultRB->setText(alignDefaultLabel_ + " ("
+                       + labelMap_[alignDefault()] + ")");
 }
 
 
 void GuiParagraph::alignmentToRadioButtons(LyXAlignment align)
 {
-       RadioMap::const_iterator it = radioMap.begin();
-       for (;it != radioMap.end(); ++it) {
-               if (!it->second->isEnabled())
-                       continue;
+       RadioMap::const_iterator it = radioMap_.begin();
+       for (;it != radioMap_.end(); ++it) {
                it->second->blockSignals(true);
                it->second->setChecked(align == it->first);
                it->second->blockSignals(false);
@@ -134,8 +136,8 @@ void GuiParagraph::alignmentToRadioButtons(LyXAlignment align)
 LyXAlignment GuiParagraph::getAlignmentFromDialog()
 {
        LyXAlignment alignment = LYX_ALIGN_NONE;
-       RadioMap::const_iterator it = radioMap.begin();
-       for (; it != radioMap.end(); ++it) {
+       RadioMap::const_iterator it = radioMap_.begin();
+       for (; it != radioMap_.end(); ++it) {
                if (it->second->isChecked()) {
                        alignment = it->first;
                        break;
@@ -150,6 +152,11 @@ void GuiParagraph::on_synchronizedViewCB_toggled()
        bool in_sync = synchronizedViewCB->isChecked();
        restorePB->setEnabled(!in_sync);
        applyPB->setEnabled(!in_sync);
+       okPB->setEnabled(!in_sync);
+       if (!in_sync)
+               closePB->setText(qt_("&Cancel"));
+       else
+               closePB->setText(qt_("&Close"));
 }
 
 
@@ -161,6 +168,31 @@ void GuiParagraph::changed()
 
 
 void GuiParagraph::on_applyPB_clicked()
+{
+       applyView();
+}
+
+
+void GuiParagraph::on_okPB_clicked()
+{
+       applyView();
+       hide();
+}
+
+
+void GuiParagraph::on_closePB_clicked()
+{
+       hide();
+}
+
+
+void GuiParagraph::on_restorePB_clicked()
+{
+       updateView();
+}
+
+
+void GuiParagraph::applyView()
 {
        ParagraphParameters & pp = params();
 
@@ -200,12 +232,6 @@ void GuiParagraph::on_applyPB_clicked()
 }
 
 
-void GuiParagraph::on_restorePB_clicked()
-{
-       updateView();
-}
-
-
 void GuiParagraph::updateView()
 {
        on_synchronizedViewCB_toggled();
@@ -220,7 +246,7 @@ void GuiParagraph::updateView()
                labelWidth->setText(toqstr(labelwidth));
        } else {
                labelwidthGB->setEnabled(false);
-               labelWidth->setText("");
+               labelWidth->setText(QString());
        }
 
        // alignment
@@ -273,8 +299,8 @@ void GuiParagraph::enableView(bool enable)
        restorePB->setEnabled(enable);
        if (!enable)
                synchronizedViewCB->setChecked(true);
-       RadioMap::const_iterator it = radioMap.begin();
-       for (; it != radioMap.end(); ++it)
+       RadioMap::const_iterator it = radioMap_.begin();
+       for (; it != radioMap_.end(); ++it)
                it->second->setEnabled(enable);
 }
 
@@ -322,20 +348,20 @@ bool GuiParagraph::haveMultiParSelection()
        
 bool GuiParagraph::canIndent() const
 {
-       return buffer().params().paragraph_separation ==
-               BufferParams::PARSEP_INDENT;
+       return buffer().params().paragraph_separation
+               == BufferParams::ParagraphIndentSeparation;
 }
 
 
 LyXAlignment GuiParagraph::alignPossible() const
 {
-       return bufferview()->cursor().innerParagraph().layout()->alignpossible;
+       return bufferview()->cursor().innerParagraph().layout().alignpossible;
 }
 
 
 LyXAlignment GuiParagraph::alignDefault() const
 {
-       return bufferview()->cursor().innerParagraph().layout()->align;
+       return bufferview()->cursor().innerParagraph().layout().align;
 }