forked from qt-creator/qt-creator
Help: Clean up bookmarks widget
Remove unused buttons, and unify style with other views (e.g. no focus rect on OS X) by using the common navigation tree view class. Change-Id: I51ce1806507e45077bcbf6b8589585bb15eae712 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -325,7 +325,7 @@ void HelpPlugin::setupUi()
|
|||||||
shortcutMap.insert(searchItem->id(), cmd);
|
shortcutMap.insert(searchItem->id(), cmd);
|
||||||
|
|
||||||
BookmarkManager *manager = &LocalHelpManager::bookmarkManager();
|
BookmarkManager *manager = &LocalHelpManager::bookmarkManager();
|
||||||
BookmarkWidget *bookmarkWidget = new BookmarkWidget(manager, 0, false);
|
BookmarkWidget *bookmarkWidget = new BookmarkWidget(manager);
|
||||||
bookmarkWidget->setWindowTitle(tr(Constants::SB_BOOKMARKS));
|
bookmarkWidget->setWindowTitle(tr(Constants::SB_BOOKMARKS));
|
||||||
auto bookmarkItem = new SideBarItem(bookmarkWidget, QLatin1String(Constants::HELP_BOOKMARKS));
|
auto bookmarkItem = new SideBarItem(bookmarkWidget, QLatin1String(Constants::HELP_BOOKMARKS));
|
||||||
connect(bookmarkWidget, SIGNAL(linkActivated(QUrl)), m_centralWidget,
|
connect(bookmarkWidget, SIGNAL(linkActivated(QUrl)), m_centralWidget,
|
||||||
|
@@ -297,7 +297,7 @@ void HelpWidget::addSideBar()
|
|||||||
: tr("Ctrl+Shift+I")));
|
: tr("Ctrl+Shift+I")));
|
||||||
shortcutMap.insert(QLatin1String(Constants::HELP_INDEX), cmd);
|
shortcutMap.insert(QLatin1String(Constants::HELP_INDEX), cmd);
|
||||||
|
|
||||||
auto bookmarkWidget = new BookmarkWidget(&LocalHelpManager::bookmarkManager(), 0, false);
|
auto bookmarkWidget = new BookmarkWidget(&LocalHelpManager::bookmarkManager());
|
||||||
bookmarkWidget->setWindowTitle(tr(Constants::SB_BOOKMARKS));
|
bookmarkWidget->setWindowTitle(tr(Constants::SB_BOOKMARKS));
|
||||||
bookmarkWidget->setOpenInNewPageActionVisible(false);
|
bookmarkWidget->setOpenInNewPageActionVisible(false);
|
||||||
auto bookmarkItem = new Core::SideBarItem(bookmarkWidget,
|
auto bookmarkItem = new Core::SideBarItem(bookmarkWidget,
|
||||||
|
@@ -296,15 +296,12 @@ bool BookmarkDialog::eventFilter(QObject *object, QEvent *e)
|
|||||||
// #pragma mark -- BookmarkWidget
|
// #pragma mark -- BookmarkWidget
|
||||||
|
|
||||||
|
|
||||||
BookmarkWidget::BookmarkWidget(BookmarkManager *manager, QWidget *parent,
|
BookmarkWidget::BookmarkWidget(BookmarkManager *manager, QWidget *parent)
|
||||||
bool showButtons)
|
|
||||||
: QWidget(parent)
|
: QWidget(parent)
|
||||||
, addButton(0)
|
|
||||||
, removeButton(0)
|
|
||||||
, bookmarkManager(manager)
|
, bookmarkManager(manager)
|
||||||
, m_isOpenInNewPageActionVisible(true)
|
, m_isOpenInNewPageActionVisible(true)
|
||||||
{
|
{
|
||||||
setup(showButtons);
|
setup();
|
||||||
installEventFilter(this);
|
installEventFilter(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -337,12 +334,6 @@ void BookmarkWidget::filterChanged()
|
|||||||
filterBookmarkModel->setSourceModel(bookmarkManager->treeBookmarkModel());
|
filterBookmarkModel->setSourceModel(bookmarkManager->treeBookmarkModel());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (addButton)
|
|
||||||
addButton->setEnabled(searchBookmarks);
|
|
||||||
|
|
||||||
if (removeButton)
|
|
||||||
removeButton->setEnabled(searchBookmarks);
|
|
||||||
|
|
||||||
filterBookmarkModel->setFilterRegExp(regExp);
|
filterBookmarkModel->setFilterRegExp(regExp);
|
||||||
|
|
||||||
const QModelIndex &index = treeView->indexAt(QPoint(1, 1));
|
const QModelIndex &index = treeView->indexAt(QPoint(1, 1));
|
||||||
@@ -422,7 +413,7 @@ void BookmarkWidget::customContextMenuRequested(const QPoint &point)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BookmarkWidget::setup(bool showButtons)
|
void BookmarkWidget::setup()
|
||||||
{
|
{
|
||||||
regExp.setPatternSyntax(QRegExp::FixedString);
|
regExp.setPatternSyntax(QRegExp::FixedString);
|
||||||
regExp.setCaseSensitivity(Qt::CaseInsensitive);
|
regExp.setCaseSensitivity(Qt::CaseInsensitive);
|
||||||
@@ -449,40 +440,8 @@ void BookmarkWidget::setup(bool showButtons)
|
|||||||
SLOT(filterChanged()));
|
SLOT(filterChanged()));
|
||||||
|
|
||||||
treeView = new TreeView(this);
|
treeView = new TreeView(this);
|
||||||
treeView->setFrameStyle(QFrame::NoFrame);
|
|
||||||
vlayout->addWidget(treeView);
|
vlayout->addWidget(treeView);
|
||||||
|
|
||||||
#ifdef Q_OS_MAC
|
|
||||||
# define SYSTEM "mac"
|
|
||||||
#else
|
|
||||||
# define SYSTEM "win"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (showButtons) {
|
|
||||||
QLayout *hlayout = new QHBoxLayout();
|
|
||||||
vlayout->addItem(hlayout);
|
|
||||||
|
|
||||||
hlayout->addItem(new QSpacerItem(40, 20, QSizePolicy::Expanding));
|
|
||||||
|
|
||||||
addButton = new QToolButton(this);
|
|
||||||
addButton->setText(tr("Add"));
|
|
||||||
addButton->setIcon(QIcon(QLatin1String(":/trolltech/assistant/images/"
|
|
||||||
SYSTEM "/addtab.png")));
|
|
||||||
addButton->setAutoRaise(true);
|
|
||||||
addButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
||||||
hlayout->addWidget(addButton);
|
|
||||||
connect(addButton, SIGNAL(clicked()), this, SIGNAL(addBookmark()));
|
|
||||||
|
|
||||||
removeButton = new QToolButton(this);
|
|
||||||
removeButton->setText(tr("Remove"));
|
|
||||||
removeButton->setIcon(QIcon(QLatin1String(":/trolltech/assistant/images/"
|
|
||||||
SYSTEM "/closetab.png")));
|
|
||||||
removeButton->setAutoRaise(true);
|
|
||||||
removeButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
|
|
||||||
hlayout->addWidget(removeButton);
|
|
||||||
connect(removeButton, SIGNAL(clicked()), this, SLOT(removeClicked()));
|
|
||||||
}
|
|
||||||
|
|
||||||
filterBookmarkModel = new QSortFilterProxyModel(this);
|
filterBookmarkModel = new QSortFilterProxyModel(this);
|
||||||
treeView->setModel(filterBookmarkModel);
|
treeView->setModel(filterBookmarkModel);
|
||||||
|
|
||||||
@@ -490,7 +449,6 @@ void BookmarkWidget::setup(bool showButtons)
|
|||||||
treeView->setAcceptDrops(true);
|
treeView->setAcceptDrops(true);
|
||||||
treeView->setAutoExpandDelay(1000);
|
treeView->setAutoExpandDelay(1000);
|
||||||
treeView->setDropIndicatorShown(true);
|
treeView->setDropIndicatorShown(true);
|
||||||
treeView->header()->setVisible(false);
|
|
||||||
treeView->viewport()->installEventFilter(this);
|
treeView->viewport()->installEventFilter(this);
|
||||||
treeView->setContextMenuPolicy(Qt::CustomContextMenu);
|
treeView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
|
|
||||||
@@ -545,13 +503,13 @@ bool BookmarkWidget::eventFilter(QObject *object, QEvent *e)
|
|||||||
|
|
||||||
switch (ke->key()) {
|
switch (ke->key()) {
|
||||||
default: break;
|
default: break;
|
||||||
case Qt::Key_Up: {
|
case Qt::Key_Up:
|
||||||
case Qt::Key_Down:
|
case Qt::Key_Down: {
|
||||||
treeView->subclassKeyPressEvent(ke);
|
treeView->subclassKeyPressEvent(ke);
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case Qt::Key_Enter: {
|
case Qt::Key_Enter:
|
||||||
case Qt::Key_Return:
|
case Qt::Key_Return: {
|
||||||
index = treeView->selectionModel()->currentIndex();
|
index = treeView->selectionModel()->currentIndex();
|
||||||
if (index.isValid()) {
|
if (index.isValid()) {
|
||||||
QString data = index.data(Qt::UserRole + 10).toString();
|
QString data = index.data(Qt::UserRole + 10).toString();
|
||||||
|
@@ -32,6 +32,8 @@
|
|||||||
|
|
||||||
#include "ui_bookmarkdialog.h"
|
#include "ui_bookmarkdialog.h"
|
||||||
|
|
||||||
|
#include <utils/navigationtreeview.h>
|
||||||
|
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
@@ -92,15 +94,15 @@ private:
|
|||||||
QSortFilterProxyModel *proxyModel;
|
QSortFilterProxyModel *proxyModel;
|
||||||
};
|
};
|
||||||
|
|
||||||
class TreeView : public QTreeView
|
class TreeView : public Utils::NavigationTreeView
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TreeView(QWidget* parent = 0) : QTreeView(parent) {}
|
TreeView(QWidget* parent = 0) : Utils::NavigationTreeView(parent) {}
|
||||||
void subclassKeyPressEvent(QKeyEvent* event)
|
void subclassKeyPressEvent(QKeyEvent* event)
|
||||||
{
|
{
|
||||||
QTreeView::keyPressEvent(event);
|
Utils::NavigationTreeView::keyPressEvent(event);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -109,8 +111,7 @@ class BookmarkWidget : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit BookmarkWidget(BookmarkManager *manager, QWidget *parent = 0,
|
explicit BookmarkWidget(BookmarkManager *manager, QWidget *parent = 0);
|
||||||
bool showButtons = true);
|
|
||||||
~BookmarkWidget();
|
~BookmarkWidget();
|
||||||
|
|
||||||
void setOpenInNewPageActionVisible(bool visible);
|
void setOpenInNewPageActionVisible(bool visible);
|
||||||
@@ -128,7 +129,7 @@ private slots:
|
|||||||
void customContextMenuRequested(const QPoint &point);
|
void customContextMenuRequested(const QPoint &point);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setup(bool showButtons);
|
void setup();
|
||||||
void expandItems();
|
void expandItems();
|
||||||
bool eventFilter(QObject *object, QEvent *event);
|
bool eventFilter(QObject *object, QEvent *event);
|
||||||
|
|
||||||
@@ -136,8 +137,6 @@ private:
|
|||||||
QRegExp regExp;
|
QRegExp regExp;
|
||||||
TreeView *treeView;
|
TreeView *treeView;
|
||||||
Utils::FancyLineEdit *searchField;
|
Utils::FancyLineEdit *searchField;
|
||||||
QToolButton *addButton;
|
|
||||||
QToolButton *removeButton;
|
|
||||||
BookmarkManager *bookmarkManager;
|
BookmarkManager *bookmarkManager;
|
||||||
QSortFilterProxyModel* filterBookmarkModel;
|
QSortFilterProxyModel* filterBookmarkModel;
|
||||||
bool m_isOpenInNewPageActionVisible;
|
bool m_isOpenInNewPageActionVisible;
|
||||||
|
Reference in New Issue
Block a user