summaryrefslogtreecommitdiffstats
path: root/src/assistant/tools/assistant/indexwindow.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2011-09-12 22:29:32 +0200
committerLars Knoll <lars.knoll@nokia.com>2011-09-13 20:17:44 +0200
commit7d0a7adede5166cf64ceb7b7826d2817d9f86e7d (patch)
tree705233a6ffdf0cc41a5906d5255798695ff1d601 /src/assistant/tools/assistant/indexwindow.cpp
parent5a818d1e1e7f63c30ea00753397f5c9831c6c0d6 (diff)
Get assistant to compile against refactor
Give the source code a somewhat saner structure while I'm at it. Change-Id: I99766405debe231a0562dd623ba1d17f19333656 Reviewed-on: http://codereview.qt-project.org/4829 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/assistant/tools/assistant/indexwindow.cpp')
-rw-r--r--src/assistant/tools/assistant/indexwindow.cpp231
1 files changed, 0 insertions, 231 deletions
diff --git a/src/assistant/tools/assistant/indexwindow.cpp b/src/assistant/tools/assistant/indexwindow.cpp
deleted file mode 100644
index 069e821cd..000000000
--- a/src/assistant/tools/assistant/indexwindow.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the Qt Assistant of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "indexwindow.h"
-
-#include "centralwidget.h"
-#include "helpenginewrapper.h"
-#include "helpviewer.h"
-#include "openpagesmanager.h"
-#include "topicchooser.h"
-#include "tracer.h"
-
-#include <QtWidgets/QLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QLineEdit>
-#include <QtGui/QKeyEvent>
-#include <QtWidgets/QMenu>
-#include <QtGui/QContextMenuEvent>
-#include <QtWidgets/QListWidgetItem>
-
-#include <QtHelp/QHelpIndexWidget>
-
-QT_BEGIN_NAMESPACE
-
-IndexWindow::IndexWindow(QWidget *parent)
- : QWidget(parent)
- , m_searchLineEdit(new QLineEdit)
- , m_indexWidget(HelpEngineWrapper::instance().indexWidget())
-{
- TRACE_OBJ
- QVBoxLayout *layout = new QVBoxLayout(this);
- QLabel *l = new QLabel(tr("&Look for:"));
- layout->addWidget(l);
-
- l->setBuddy(m_searchLineEdit);
- connect(m_searchLineEdit, SIGNAL(textChanged(QString)), this,
- SLOT(filterIndices(QString)));
- m_searchLineEdit->installEventFilter(this);
- layout->setMargin(4);
- layout->addWidget(m_searchLineEdit);
-
- HelpEngineWrapper &helpEngine = HelpEngineWrapper::instance();
- m_indexWidget->installEventFilter(this);
- connect(helpEngine.indexModel(), SIGNAL(indexCreationStarted()), this,
- SLOT(disableSearchLineEdit()));
- connect(helpEngine.indexModel(), SIGNAL(indexCreated()), this,
- SLOT(enableSearchLineEdit()));
- connect(m_indexWidget, SIGNAL(linkActivated(QUrl,QString)), this,
- SIGNAL(linkActivated(QUrl)));
- connect(m_indexWidget, SIGNAL(linksActivated(QMap<QString,QUrl>,QString)),
- this, SIGNAL(linksActivated(QMap<QString,QUrl>,QString)));
- connect(m_searchLineEdit, SIGNAL(returnPressed()), m_indexWidget,
- SLOT(activateCurrentItem()));
- layout->addWidget(m_indexWidget);
-
- m_indexWidget->viewport()->installEventFilter(this);
-}
-
-IndexWindow::~IndexWindow()
-{
- TRACE_OBJ
-}
-
-void IndexWindow::filterIndices(const QString &filter)
-{
- TRACE_OBJ
- if (filter.contains(QLatin1Char('*')))
- m_indexWidget->filterIndices(filter, filter);
- else
- m_indexWidget->filterIndices(filter, QString());
-}
-
-bool IndexWindow::eventFilter(QObject *obj, QEvent *e)
-{
- TRACE_OBJ
- if (obj == m_searchLineEdit && e->type() == QEvent::KeyPress) {
- QKeyEvent *ke = static_cast<QKeyEvent*>(e);
- QModelIndex idx = m_indexWidget->currentIndex();
- switch (ke->key()) {
- case Qt::Key_Up:
- idx = m_indexWidget->model()->index(idx.row()-1,
- idx.column(), idx.parent());
- if (idx.isValid()) {
- m_indexWidget->setCurrentIndex(idx);
- return true;
- }
- break;
- case Qt::Key_Down:
- idx = m_indexWidget->model()->index(idx.row()+1,
- idx.column(), idx.parent());
- if (idx.isValid()) {
- m_indexWidget->setCurrentIndex(idx);
- return true;
- }
- break;
- case Qt::Key_Escape:
- emit escapePressed();
- return true;
- default: ; // stop complaining
- }
- } else if (obj == m_indexWidget && e->type() == QEvent::ContextMenu) {
- QContextMenuEvent *ctxtEvent = static_cast<QContextMenuEvent*>(e);
- QModelIndex idx = m_indexWidget->indexAt(ctxtEvent->pos());
- if (idx.isValid()) {
- QMenu menu;
- QAction *curTab = menu.addAction(tr("Open Link"));
- QAction *newTab = menu.addAction(tr("Open Link in New Tab"));
- menu.move(m_indexWidget->mapToGlobal(ctxtEvent->pos()));
-
- QAction *action = menu.exec();
- if (curTab == action)
- m_indexWidget->activateCurrentItem();
- else if (newTab == action) {
- open(m_indexWidget, idx);
- }
- }
- } else if (m_indexWidget && obj == m_indexWidget->viewport()
- && e->type() == QEvent::MouseButtonRelease) {
- QMouseEvent *mouseEvent = static_cast<QMouseEvent*>(e);
- QModelIndex idx = m_indexWidget->indexAt(mouseEvent->pos());
- if (idx.isValid()) {
- Qt::MouseButtons button = mouseEvent->button();
- if (((button == Qt::LeftButton) && (mouseEvent->modifiers() & Qt::ControlModifier))
- || (button == Qt::MidButton)) {
- open(m_indexWidget, idx);
- }
- }
- }
-#ifdef Q_OS_MAC
- else if (obj == m_indexWidget && e->type() == QEvent::KeyPress) {
- QKeyEvent *ke = static_cast<QKeyEvent*>(e);
- if (ke->key() == Qt::Key_Return || ke->key() == Qt::Key_Enter)
- m_indexWidget->activateCurrentItem();
- }
-#endif
- return QWidget::eventFilter(obj, e);
-}
-
-void IndexWindow::enableSearchLineEdit()
-{
- TRACE_OBJ
- m_searchLineEdit->setDisabled(false);
- filterIndices(m_searchLineEdit->text());
-}
-
-void IndexWindow::disableSearchLineEdit()
-{
- TRACE_OBJ
- m_searchLineEdit->setDisabled(true);
-}
-
-void IndexWindow::setSearchLineEditText(const QString &text)
-{
- TRACE_OBJ
- m_searchLineEdit->setText(text);
-}
-
-void IndexWindow::focusInEvent(QFocusEvent *e)
-{
- TRACE_OBJ
- if (e->reason() != Qt::MouseFocusReason) {
- m_searchLineEdit->selectAll();
- m_searchLineEdit->setFocus();
- }
-}
-
-void IndexWindow::open(QHelpIndexWidget* indexWidget, const QModelIndex &index)
-{
- TRACE_OBJ
- QHelpIndexModel *model = qobject_cast<QHelpIndexModel*>(indexWidget->model());
- if (model) {
- QString keyword = model->data(index, Qt::DisplayRole).toString();
- QMap<QString, QUrl> links = model->linksForKeyword(keyword);
-
- QUrl url;
- if (links.count() > 1) {
- TopicChooser tc(this, keyword, links);
- if (tc.exec() == QDialog::Accepted)
- url = tc.link();
- } else if (links.count() == 1) {
- url = links.constBegin().value();
- } else {
- return;
- }
-
- if (!HelpViewer::canOpenPage(url.path()))
- CentralWidget::instance()->setSource(url);
- else
- OpenPagesManager::instance()->createPage(url);
- }
-}
-
-QT_END_NAMESPACE