]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt2/QFloat.C
Some string(widget->text()) fixes. Weirdness
[lyx.git] / src / frontends / qt2 / QFloat.C
index ca85bc9b5240e7595483f5d89cf826b01d074346..5b760ced4e9d1ae30f6c2c27af68e147f1a52bb9 100644 (file)
@@ -1,9 +1,11 @@
 /**
  * \file QFloat.C
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- * \author Edwin Leuven <leuven@fee.uva.nl>
+ * \author Edwin Leuven
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #include <config.h>
@@ -25,6 +27,7 @@
 
 typedef Qt2CB<ControlFloat, Qt2DB<QFloatDialog> > base_class;
 
+
 QFloat::QFloat()
        : base_class(_("Float Settings"))
 {
@@ -61,7 +64,9 @@ void QFloat::update_contents()
        bool force = false;
        bool here_definitely = false;
 
-       string const placement(controller().params().placement);
+       FloatParams const & params = controller().params();
+
+       string const & placement = params.placement;
 
        if (placement.empty()) {
                def_placement = true;
@@ -84,7 +89,7 @@ void QFloat::update_contents()
                        here = true;
                }
        }
+
        dialog_->defaultsCB->setChecked(def_placement);
        dialog_->topCB->setChecked(top);
        dialog_->bottomCB->setChecked(bottom);
@@ -93,39 +98,47 @@ void QFloat::update_contents()
        dialog_->ignoreCB->setChecked(force);
        dialog_->ignoreCB->setEnabled(top || bottom || page || here);
        dialog_->heredefinitelyCB->setChecked(here_definitely);
-       if (controller().params().wide) {
+
+       if (params.wide) {
                dialog_->herepossiblyCB->setChecked(false);
                dialog_->bottomCB->setChecked(false);
        }
-       dialog_->spanCB->setChecked(controller().params().wide);
+
+       dialog_->spanCB->setChecked(params.wide);
 }
 
+
 void QFloat::apply()
 {
+       FloatParams & params = controller().params();
+
+       params.wide = dialog_->spanCB->isChecked();
+
+       if (dialog_->defaultsCB->isChecked()) {
+               params.placement.erase();
+               return;
+       }
+
        string placement;
 
        if (dialog_->heredefinitelyCB->isChecked()) {
-               placement += "H";
+               placement += 'H';
        } else {
                if (dialog_->ignoreCB->isChecked()) {
-                       placement += "!";
+                       placement += '!';
                }
                if (dialog_->topCB->isChecked()) {
-                       placement += "t";
+                       placement += 't';
                }
                if (dialog_->bottomCB->isChecked()) {
-                       placement += "b";
+                       placement += 'b';
                }
                if (dialog_->pageCB->isChecked()) {
-                       placement += "p";
+                       placement += 'p';
                }
                if (dialog_->herepossiblyCB->isChecked()) {
-                       placement += "h";
+                       placement += 'h';
                }
        }
-       controller().params().placement = placement;
-       controller().params().wide = dialog_->spanCB->isChecked(); 
+       params.placement = placement;
 }