]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt2/lengthcombo.C
Some string(widget->text()) fixes. Weirdness
[lyx.git] / src / frontends / qt2 / lengthcombo.C
index 736a5eb056c5e55dd66d0edad1b066d6cd4ceb3a..cb442cdf84d58ec3d287460c467d6988f73d78c3 100644 (file)
@@ -1,98 +1,60 @@
 /**
  * \file lengthcombo.C
- * Copyright 2001 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 John Levon
+ * \author Herbert Voss
+ *
+ * Full author contact details are available in file CREDITS
  */
 
 #include <config.h>
-#include "gettext.h"
+
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
 #include "lengthcombo.h"
-#include <qwhatsthis.h> 
+#include <qwhatsthis.h>
+
+#include "lengthcommon.h"
+#include "gettext.h"
+
 
 LengthCombo::LengthCombo(QWidget * parent, char * name)
        : QComboBox(parent, name)
 {
-       insertItem(_("cm"));
-       insertItem(_("in"));
-       insertItem(_("pt"));
-       insertItem(_("mm"));
-       insertItem(_("pc"));
-       insertItem(_("ex"));
-       insertItem(_("em"));
-       insertItem(_("sp"));
-       insertItem(_("bp"));
-       insertItem(_("dd"));
-       insertItem(_("cc"));
-       insertItem(_("mu"));
-       insertItem(_("%p"));
-       insertItem(_("%c"));
-       insertItem(_("%l"));
+       for (int i=0; i < num_units; i++)
+               insertItem(unit_name_gui[i]);
 
        connect(this, SIGNAL(activated(int)),
                this, SLOT(has_activated(int)));
 
-       QWhatsThis::add(this, _("FIXME - describe the units."));
+       QWhatsThis::add(this, _("Choose one of the units or relative lengths"));
 }
 
 
 LyXLength::UNIT LengthCombo::currentLengthItem() const
-{ 
-       LyXLength::UNIT unit;
-       int i = currentItem();
-       switch (i) {
-               default:
-               case 0: unit = LyXLength::CM; break;
-               case 1: unit = LyXLength::IN; break;
-               case 2: unit = LyXLength::PT; break;
-               case 3: unit = LyXLength::MM; break;
-               case 4: unit = LyXLength::PC; break;
-               case 5: unit = LyXLength::EX; break;
-               case 6: unit = LyXLength::EM; break;
-               case 7: unit = LyXLength::SP; break;
-               case 8: unit = LyXLength::BP; break;
-               case 9: unit = LyXLength::DD; break;
-               case 10: unit = LyXLength::CC; break;
-               case 11: unit = LyXLength::MU; break;
-               case 12: unit = LyXLength::PP; break;
-               case 13: unit = LyXLength::PW; break;
-               case 14: unit = LyXLength::PL; break;
-               // FIXME: LyXLength::PE ?
-       };
-       return unit;
-} 
+{
+       return static_cast<LyXLength::UNIT>(currentItem());
+}
+
 
 void LengthCombo::has_activated(int)
 {
        emit selectionChanged(currentLengthItem());
 }
 
+
 void LengthCombo::setCurrentItem(LyXLength::UNIT unit)
 {
-       int i;
-       switch (unit) {
-               default:
-               case LyXLength::CM: i = 0; break;
-               case LyXLength::IN: i = 1; break;
-               case LyXLength::PT: i = 2; break;
-               case LyXLength::MM: i = 3; break;
-               case LyXLength::PC: i = 4; break;
-               case LyXLength::EX: i = 5; break;
-               case LyXLength::EM: i = 6; break;
-               case LyXLength::SP: i = 7; break;
-               case LyXLength::BP: i = 8; break;
-               case LyXLength::DD: i = 9; break;
-               case LyXLength::CC: i = 10; break;
-               case LyXLength::MU: i = 11; break;
-               case LyXLength::PP: i = 12; break;
-               case LyXLength::PW: i = 13; break;
-               case LyXLength::PL: i = 14; break;
-               // FIXME: LyXLength::PE ?
-       }
-       QComboBox::setCurrentItem(i);
+       QComboBox::setCurrentItem(int(unit));
+}
+
+
+void LengthCombo::setEnabled(bool b)
+{
+       QComboBox::setEnabled(b);
 }
+