#include "DockView.h"
#include "TocWidget.h"
#include "FuncRequest.h"
+
#include "insets/InsetCommand.h"
#include "TocModel.h"
#include "Buffer.h"
#include "BufferView.h"
#include "BufferParams.h"
-#include "support/debug.h"
#include "FloatList.h"
#include "FuncRequest.h"
-#include "support/gettext.h"
#include "TextClass.h"
#include "support/convert.h"
+#include "support/debug.h"
+#include "support/gettext.h"
+
+#include "support/assert.h"
#include <algorithm>
GuiToc::GuiToc(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags flags)
: DockView(parent, "toc", qt_("Outline"), area, flags)
{
- widget_ = new TocWidget(*this);
+ widget_ = new TocWidget(*this, &parent);
setWidget(widget_);
}
LYXERR(Debug::GUI, "GuiToc: type " << type
<< " toc_models_.size() " << toc_models_.size());
- BOOST_ASSERT(type >= 0 && type < int(toc_models_.size()));
+ LASSERT(type >= 0 && type < int(toc_models_.size()), /**/);
return toc_models_[type];
}
return;
}
- BOOST_ASSERT(type >= 0 && type < int(toc_models_.size()));
+ LASSERT(type >= 0 && type < int(toc_models_.size()), /**/);
TocIterator const it = toc_models_[type]->tocIterator(index);
bool GuiToc::initialiseParams(string const & data)
{
LYXERR(Debug::GUI, data);
- QString str = QString::fromUtf8(data.c_str());
- string new_type;
- if (str.contains("tableofcontents"))
+ QString str = toqstr(data);
+ QString new_type;
+ if (str.contains("tableofcontents")) {
new_type = "tableofcontents";
- else if (str.contains("floatlist")) {
+ } else if (str.contains("floatlist")) {
if (str.contains("\"figure"))
new_type = "figure";
else if (str.contains("\"table"))
new_type = "table";
else if (str.contains("\"algorithm"))
new_type = "algorithm";
+ } else if (!str.isEmpty()) {
+ new_type = str;
+ } else {
+ // Default to Outliner.
+ new_type = "tableofcontents";
}
types_.clear();
TocList::const_iterator it = tocs.begin();
TocList::const_iterator end = tocs.end();
for (; it != end; ++it) {
- types_.push_back(it->first);
- type_names_.push_back(guiName(it->first));
+ types_.push_back(toqstr(it->first));
+ type_names_.push_back(toqstr(guiName(it->first)));
toc_models_.push_back(new TocModel(it->second));
}
- int selected_type = -1;
- for (size_t i = 0; i != types_.size(); ++i) {
- if (new_type == types_[i]) {
- selected_type = i;
- break;
- }
- }
- widget_->updateGui(selected_type);
+ widget_->updateGui(types_.indexOf(new_type));
return true;
}
TocIterator GuiToc::currentTocItem(int type) const
{
- BOOST_ASSERT(bufferview());
+ LASSERT(bufferview(), /**/);
ParConstIterator it(bufferview()->cursor());
- return buffer().masterBuffer()->tocBackend().item(types_[type], it);
+ return buffer().masterBuffer()->tocBackend().item(fromqstr(types_[type]), it);
}
{
if (type == "tableofcontents")
return _("Table of Contents");
+ if (type == "child")
+ return _("Child Documents");
+ if (type == "graphics")
+ return _("List of Graphics");
if (type == "equation")
return _("List of Equations");
if (type == "footnote")
return _("List of Marginal notes");
if (type == "note")
return _("List of Notes");
+ if (type == "citation")
+ return _("List of Citations");
+ if (type == "label")
+ return _("Labels and References");
- FloatList const & floats = buffer().params().getTextClass().floats();
+ FloatList const & floats = buffer().params().documentClass().floats();
if (floats.typeExist(type))
return _(floats.getType(type).listName());