]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/TocWidget.cpp
Fix bug #6661: Outliner filter bar should not be case sensitive.
[lyx.git] / src / frontends / qt4 / TocWidget.cpp
index 0822c8bd70dc3c1948d4d67a4fa8f4bbc2a32c78..80e867c7d1d05e3ce1b80f9e7fc87364c3c7b296 100644 (file)
@@ -139,7 +139,7 @@ bool TocWidget::getStatus(Cursor & cur, FuncRequest const & cmd,
        TocItem const & item =
                gui_view_.tocModels().currentItem(current_type_, index);
 
-       switch (cmd.action)
+       switch (cmd.action())
        {
        case LFUN_CHANGE_ACCEPT:
        case LFUN_CHANGE_REJECT:
@@ -179,7 +179,7 @@ void TocWidget::doDispatch(Cursor & cur, FuncRequest const & cmd)
        // Start an undo group.
        cur.beginUndoGroup();
 
-       switch (cmd.action)
+       switch (cmd.action())
        {
        case LFUN_CHANGE_ACCEPT:
        case LFUN_CHANGE_REJECT:
@@ -200,7 +200,7 @@ void TocWidget::doDispatch(Cursor & cur, FuncRequest const & cmd)
        case LFUN_OUTLINE_DOWN:
        case LFUN_OUTLINE_IN:
        case LFUN_OUTLINE_OUT:
-               outline(cmd.action);
+               outline(cmd.action());
                break;
 
        default:
@@ -315,19 +315,19 @@ void TocWidget::on_typeCO_currentIndexChanged(int index)
 {
        current_type_ = typeCO->itemData(index).toString();
        updateView();
-       gui_view_.setFocus();
+       if (typeCO->hasFocus())
+               gui_view_.setFocus();
 }
 
 
-void TocWidget::outline(int func_code)
+void TocWidget::outline(FuncCode func_code)
 {
-       enableControls(false);
        QModelIndexList const & list = tocTV->selectionModel()->selectedIndexes();
        if (list.isEmpty())
                return;
        enableControls(false);
        goTo(list[0]);
-       dispatch(FuncRequest(static_cast<FuncCode>(func_code)));
+       dispatch(FuncRequest(func_code));
        enableControls(true);
        gui_view_.setFocus();
 }
@@ -405,7 +405,8 @@ void TocWidget::updateView()
        tocTV->setEnabled(false);
        tocTV->setUpdatesEnabled(false);
 
-       QAbstractItemModel * toc_model = gui_view_.tocModels().model(current_type_);
+       QAbstractItemModel * toc_model = 
+                       gui_view_.tocModels().model(current_type_);
        if (tocTV->model() != toc_model) {
                tocTV->setModel(toc_model);
                tocTV->setEditTriggers(QAbstractItemView::NoEditTriggers);
@@ -441,6 +442,9 @@ void TocWidget::updateView()
 
 void TocWidget::filterContents()
 {
+       if (!tocTV->model())
+               return;
+
        QModelIndexList indices = tocTV->model()->match(
                tocTV->model()->index(0, 0),
                Qt::DisplayRole, "*", -1,
@@ -451,7 +455,7 @@ void TocWidget::filterContents()
                QModelIndex index = indices[i];
                bool const matches =
                        index.data().toString().contains(
-                               filterLE->text(), Qt::CaseSensitive);
+                               filterLE->text(), Qt::CaseInsensitive);
                tocTV->setRowHidden(index.row(), index.parent(), !matches);
        }
        // recursively unhide parents of unhidden children