From eea675e1f33d29550c9f3e90eb6b6b2402e5ef37 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 28 Jan 2020 14:59:23 +0200 Subject: Add bookmarks toolbar Bookmarks Toolbar displays the contents of the top-level "Bookmarks Toolbar" folder. --- src/bookmarks/bookmarkswidget.cpp | 58 +++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) (limited to 'src/bookmarks/bookmarkswidget.cpp') diff --git a/src/bookmarks/bookmarkswidget.cpp b/src/bookmarks/bookmarkswidget.cpp index bd2d607..21739e7 100644 --- a/src/bookmarks/bookmarkswidget.cpp +++ b/src/bookmarks/bookmarkswidget.cpp @@ -7,47 +7,47 @@ */ #include "bookmarkswidget.h" +#include "bookmarkmodel.h" #include "editbookmarkdialog.h" #include "ui_bookmarksform.h" -#include "bookmarkformat.h" +#include #include #include -#include -inline void expandChildren(QTreeView *view, BookmarkModel *model, const QModelIndex &rootIndex) +inline void expandChildren(QTreeView *view, BookmarkModel *m_model, const QModelIndex &rootIndex) { - for(int i = 0; i < model->rowCount(rootIndex); ++i) { - QModelIndex idx = model->index(i, 0, rootIndex); - if(model->isItemExpanded(idx)) + for(int i = 0; i < m_model->rowCount(rootIndex); ++i) { + QModelIndex idx = m_model->index(i, 0, rootIndex); + if(m_model->isItemExpanded(idx)) view->expand(idx); // check if index has children - if(model->rowCount(idx) > 0) - expandChildren(view, model, idx); + if(m_model->rowCount(idx) > 0) + expandChildren(view, m_model, idx); } } -inline void loadModel(const QString &path, BookmarkModel *model, QTreeView *view) +inline void loadModel(const QString &path, BookmarkModel *m_model, QTreeView *view) { view->setModel(nullptr); if(path.endsWith(".xbel")) { QFile f(path); if(f.open(QIODevice::ReadOnly | QIODevice::Text)) { - BookmarkFormat(&f) >> model; + BookmarkFormat(&f) >> m_model; f.close(); } } else if(path.endsWith(".json")) { QFile f(path); if(f.open(QIODevice::ReadOnly | QIODevice::Text)) { - BookmarkFormat(&f) >> model; + BookmarkFormat(&f) >> m_model; f.close(); } } - view->setModel(model); - expandChildren(view, model, QModelIndex()); + view->setModel(m_model); + expandChildren(view, m_model, QModelIndex()); } BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) @@ -66,9 +66,9 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) ui->deleteItem_toolButton->setIcon(style()->standardPixmap(QStyle::SP_TrashIcon)); ui->deleteItem_toolButton->setShortcut(QKeySequence::Delete); - model = new BookmarkModel(this); + m_model = new BookmarkModel(this); m_bookmarksPath = path; - loadModel(path, model, ui->treeView); + loadModel(path, m_model, ui->treeView); // item activated connect(ui->treeView, &QTreeView::activated, this, [this](const QModelIndex &index) { @@ -79,17 +79,17 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) }); connect(ui->treeView, &QTreeView::expanded, this, [this](const QModelIndex &index) { - model->setItemExpanded(index, true); + m_model->setItemExpanded(index, true); }); connect(ui->treeView, &QTreeView::collapsed, this, [this](const QModelIndex &index) { - model->setItemExpanded(index, false); + m_model->setItemExpanded(index, false); }); ui->treeView->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->treeView, &QTreeView::customContextMenuRequested, this, [this](const QPoint &pos) { const QModelIndex idx = ui->treeView->indexAt(pos); if(idx.isValid()) { - const QUrl url = model->data(idx, 1, Qt::DisplayRole).toUrl(); + const QUrl url = m_model->data(idx, 1, Qt::DisplayRole).toUrl(); const QPoint _pos = ui->treeView->viewport()->mapToGlobal(pos); emit showContextMenu(url, _pos); @@ -98,16 +98,16 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) // addBookmark connect(ui->addBookmark_toolButton, &QToolButton::clicked, this, [this]() { - const QModelIndex idx = model->parentFolder(ui->treeView->currentIndex()); - const QModelIndex childIdx = model->appendBookmark(tr("Title"), QString(), idx); + const QModelIndex idx = m_model->parentFolder(ui->treeView->currentIndex()); + const QModelIndex childIdx = m_model->appendBookmark(tr("Title"), QString(), idx); ui->treeView->setCurrentIndex(childIdx); editBookmark(childIdx); }); // addFolder connect(ui->addFolder_toolButton, &QToolButton::clicked, this, [this]() { - const QModelIndex idx = model->parentFolder(ui->treeView->currentIndex()); - const QModelIndex childIdx = model->appendFolder(tr("Title"), idx); + const QModelIndex idx = m_model->parentFolder(ui->treeView->currentIndex()); + const QModelIndex childIdx = m_model->appendFolder(tr("Title"), idx); ui->treeView->setCurrentIndex(childIdx); editBookmark(childIdx); }); @@ -115,14 +115,14 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) // deleteItem connect(ui->deleteItem_toolButton, &QToolButton::clicked, this, [this]() { const QModelIndex idx = ui->treeView->currentIndex(); - model->removeRow(idx.row(), idx.parent()); + m_model->removeRow(idx.row(), idx.parent()); }); // import button connect(ui->import_toolButton, &QToolButton::clicked, this, [this]() { const auto path = QFileDialog::getOpenFileName(this, tr("Open bookmarks file"), QDir::homePath(), tr("Firefox bookmarks backup (*.json)")); if(!path.isEmpty()) { - loadModel(path, model, ui->treeView); + loadModel(path, m_model, ui->treeView); } }); } @@ -134,30 +134,30 @@ BookmarksWidget::~BookmarksWidget() void BookmarksWidget::editBookmark(const QModelIndex &index) { - auto *dlg = new EditBookmarkDialog(model, index, this); + auto *dlg = new EditBookmarkDialog(m_model, index, this); dlg->exec(); } void BookmarksWidget::save() { - if(!model->isModified()) + if(!m_model->isModified()) return; QFile bookmarksFile(m_bookmarksPath); if(bookmarksFile.open(QIODevice::WriteOnly | QIODevice::Text)) { BookmarkFormat f(&bookmarksFile); - model >> f; + m_model >> f; bookmarksFile.flush(); } } void BookmarksWidget::addBookmark(const QString &title, const QString &url) { - model->appendBookmark(title, url, QModelIndex()); + m_model->appendBookmark(title, url, QModelIndex()); } void BookmarksWidget::search(const QString &term, const std::function &callback) const { - QStringList ret = model->search(term); + QStringList ret = m_model->search(term); callback(ret); } -- cgit v1.2.1