/**
* \file QInclude.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 <moz@compsoc.man.ac.uk>
+ * \author John Levon
+ *
+ * Full author contact details are available in file CREDITS
*/
#include <config.h>
#pragma implementation
#endif
-#include "QIncludeDialog.h"
#include "ControlInclude.h"
+#include "gettext.h"
+#include "debug.h"
+
+#include "QIncludeDialog.h"
#include "QInclude.h"
#include "Qt2BC.h"
-#include "gettext.h"
-#include "debug.h"
#include <qlineedit.h>
#include <qpushbutton.h>
#include <qcheckbox.h>
-#include <qradiobutton.h>
+#include <qcombobox.h>
+
typedef Qt2CB<ControlInclude, Qt2DB<QIncludeDialog> > base_class;
-QInclude::QInclude(ControlInclude & c)
- : base_class(c, _("Include"))
+
+QInclude::QInclude()
+ : base_class(_("Include"))
{
}
bc().setCancel(dialog_->closePB);
bc().addReadOnly(dialog_->filenameED);
bc().addReadOnly(dialog_->browsePB);
- bc().addReadOnly(dialog_->typesetCB);
bc().addReadOnly(dialog_->visiblespaceCB);
- bc().addReadOnly(dialog_->includeRB);
- bc().addReadOnly(dialog_->inputRB);
- bc().addReadOnly(dialog_->verbatimRB);
+ bc().addReadOnly(dialog_->typeCO);
}
void QInclude::update_contents()
{
- if (controller().params().noload) {
- dialog_->filenameED->setText("");
- dialog_->typesetCB->setChecked(false);
- dialog_->visiblespaceCB->setChecked(false);
- dialog_->visiblespaceCB->setEnabled(false);
- dialog_->includeRB->setChecked(true);
- return;
- }
-
- dialog_->filenameED->setText(controller().params().cparams.getContents().c_str());
+ InsetInclude::Params const & params = controller().params();
- string const cmdname = controller().params().cparams.getCmdName();
-
- // FIXME: ??
- dialog_->typesetCB->setChecked(controller().params().noload);
+ dialog_->filenameED->setText(params.cparams.getContents().c_str());
dialog_->visiblespaceCB->setChecked(false);
dialog_->visiblespaceCB->setEnabled(false);
- if (cmdname == "input")
- dialog_->inputRB->setChecked(true);
- else if (cmdname == "include")
- dialog_->includeRB->setChecked(true);
- else if (!cmdname.empty()) {
- dialog_->verbatimRB->setChecked(true);
- dialog_->visiblespaceCB->setChecked(cmdname == "verbatiminput*");
- dialog_->visiblespaceCB->setEnabled(true);
+ switch (params.flag) {
+ case InsetInclude::INPUT:
+ dialog_->typeCO->setCurrentItem(0);
+ break;
+
+ case InsetInclude::INCLUDE:
+ dialog_->typeCO->setCurrentItem(1);
+ break;
+
+ case InsetInclude::VERBAST:
+ dialog_->visiblespaceCB->setChecked(true);
+ /* fall through */
+ case InsetInclude::VERB:
+ dialog_->typeCO->setCurrentItem(2);
+ dialog_->visiblespaceCB->setEnabled(true);
+ break;
}
-
- if (cmdname.empty())
- dialog_->includeRB->setChecked(true);
}
void QInclude::apply()
{
- controller().params().noload = dialog_->typesetCB->isChecked();
+ InsetInclude::Params & params = controller().params();
- controller().params().cparams.
- setContents(dialog_->filenameED->text().latin1());
+ params.cparams.setContents(dialog_->filenameED->text().latin1());
- if (dialog_->inputRB->isChecked())
- controller().params().flag = InsetInclude::INPUT;
- else if (dialog_->includeRB->isChecked())
- controller().params().flag = InsetInclude::INCLUDE;
+ int const item = dialog_->typeCO->currentItem();
+ if (item == 0)
+ params.flag = InsetInclude::INPUT;
+ else if (item == 1)
+ params.flag = InsetInclude::INCLUDE;
else {
if (dialog_->visiblespaceCB->isChecked())
- controller().params().flag = InsetInclude::VERBAST;
+ params.flag = InsetInclude::VERBAST;
else
- controller().params().flag = InsetInclude::VERB;
+ params.flag = InsetInclude::VERB;
}
}
{
ControlInclude::Type type;
- if (dialog_->includeRB->isChecked())
- type = ControlInclude::INCLUDE;
- else if (dialog_->inputRB->isChecked())
+ int const item = dialog_->typeCO->currentItem();
+ if (item == 0)
type = ControlInclude::INPUT;
+ else if (item == 1)
+ type = ControlInclude::INCLUDE;
else
type = ControlInclude::VERBATIM;
string const & name = controller().Browse(dialog_->filenameED->text().latin1(), type);
if (!name.empty())
- dialog_->filenameED->setText(name.c_str());
+ dialog_->filenameED->setText(name.c_str());
}