From c127d83b66c1216fd1d3884c6c16f628100404c2 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Fri, 26 Feb 2010 19:48:20 +0000 Subject: [PATCH] A little cleanup while perusing TocWidget.... git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33583 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt4/TocWidget.cpp | 34 +++++---------------------------- src/frontends/qt4/TocWidget.h | 12 ++++++++++++ 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/src/frontends/qt4/TocWidget.cpp b/src/frontends/qt4/TocWidget.cpp index 473d7de343..0822c8bd70 100644 --- a/src/frontends/qt4/TocWidget.cpp +++ b/src/frontends/qt4/TocWidget.cpp @@ -370,18 +370,11 @@ void TocWidget::select(QModelIndex const & index) } -/// Test whether outlining operation is possible -static bool canOutline(QString const & type) -{ - return type == "tableofcontents"; -} - - void TocWidget::enableControls(bool enable) { updateTB->setEnabled(enable); - if (!canOutline(current_type_)) + if (!canOutline()) enable = false; moveUpTB->setEnabled(enable); @@ -391,24 +384,6 @@ void TocWidget::enableControls(bool enable) } -/// Test whether synchronized navigation is possible -static bool canNavigate(QString const & type) -{ - // It is not possible to have synchronous navigation in a correct - // and efficient way with the label and change type because Toc::item() - // does a linear search. Even when fixed, it might even not be desirable - // to do so if we want to support drag&drop of labels and references. - return type != "label" && type != "change"; -} - - -/// Test whether sorting is possible -static bool isSortable(QString const & type) -{ - return type != "tableofcontents"; -} - - void TocWidget::updateView() { if (!gui_view_.documentBufferView()) { @@ -423,7 +398,8 @@ void TocWidget::updateView() depthSL->setEnabled(false); return; } - sortCB->setEnabled(isSortable(current_type_)); + bool const is_sortable = isSortable(); + sortCB->setEnabled(is_sortable); depthSL->setEnabled(true); typeCO->setEnabled(true); tocTV->setEnabled(false); @@ -438,11 +414,11 @@ void TocWidget::updateView() } sortCB->blockSignals(true); - sortCB->setChecked(isSortable(current_type_) + sortCB->setChecked(is_sortable && gui_view_.tocModels().isSorted(current_type_)); sortCB->blockSignals(false); - bool const can_navigate_ = canNavigate(current_type_); + bool const can_navigate_ = canNavigate(); persistentCB->setEnabled(can_navigate_); bool controls_enabled = toc_model && toc_model->rowCount() > 0 diff --git a/src/frontends/qt4/TocWidget.h b/src/frontends/qt4/TocWidget.h index 7c7ca3f0e3..12f691c182 100644 --- a/src/frontends/qt4/TocWidget.h +++ b/src/frontends/qt4/TocWidget.h @@ -71,6 +71,18 @@ private: /// void enableControls(bool enable = true); /// + bool canOutline() + { return current_type_ == "tableofcontents"; } + /// It is not possible to have synchronous navigation in a correct + /// and efficient way with the label and change type because Toc::item() + /// does a linear search. Even when fixed, it might even not be desirable + /// to do so if we want to support drag&drop of labels and references. + bool canNavigate() + { return current_type_ != "label" && current_type_ != "change"; } + /// + bool isSortable() + { return current_type_ != "tableofcontents"; } + /// void setTreeDepth(int depth); /// void outline(int func_code); -- 2.39.2