void BookmarksToolbar::loadClickedBookmarkInNewTab() { ToolButton* button = qobject_cast<ToolButton*>(sender()); if (!button) { return; } Bookmark bookmark = button->data().value<Bookmark>(); p_QupZilla->tabWidget()->addView(bookmark.url); }
void BookmarksToolbar::loadClickedBookmark() { ToolButton* button = qobject_cast<ToolButton*>(sender()); if (!button) { return; } Bookmark bookmark = button->data().value<Bookmark>(); p_QupZilla->loadAddress(bookmark.url); }
void BookmarksToolbar::editBookmark() { QAction* act = qobject_cast<QAction*> (sender()); if (!act) { return; } ToolButton* button = static_cast<ToolButton*>(act->data().value<void*>()); if (!button) { return; } Bookmark b = button->data().value<Bookmark>(); QDialog* dialog = new QDialog(this); QFormLayout* layout = new QFormLayout(dialog); QLabel* label = new QLabel(dialog); QLineEdit* editUrl = new QLineEdit(dialog); QLineEdit* editTitle = new QLineEdit(dialog); QDialogButtonBox* box = new QDialogButtonBox(dialog); box->addButton(QDialogButtonBox::Ok); box->addButton(QDialogButtonBox::Cancel); connect(box, SIGNAL(rejected()), dialog, SLOT(reject())); connect(box, SIGNAL(accepted()), dialog, SLOT(accept())); label->setText(tr("Edit bookmark: ")); layout->addRow(label); layout->addRow(new QLabel(tr("Title: ")), editTitle); layout->addRow(new QLabel(tr("Url: ")), editUrl); layout->addRow(box); editUrl->setText(b.url.toString()); editTitle->setText(b.title); editUrl->setCursorPosition(0); editTitle->setCursorPosition(0); dialog->setWindowTitle(tr("Edit Bookmark")); dialog->setMinimumSize(400, 100); dialog->exec(); if (dialog->result() == QDialog::Rejected) { return; } QUrl url = QUrl::fromEncoded(editUrl->text().toUtf8()); QString title = editTitle->text(); if (url.isEmpty() || title.isEmpty()) { return; } m_bookmarksModel->editBookmark(b.id, title, url, b.folder); }
void BookmarksToolbar::moveRight() { QAction* act = qobject_cast<QAction*> (sender()); if (!act) { return; } ToolButton* button = (ToolButton*) act->data().value<void*>(); int index = m_layout->indexOf(button); if (index == m_layout->count() - 1) { return; } ToolButton* buttonRight = qobject_cast<ToolButton*> (m_layout->itemAt(index + 1)->widget()); if (!buttonRight || buttonRight->menu()) { return; } Bookmark bookmark = button->data().value<Bookmark>(); Bookmark bookmarkRight = buttonRight->data().value<Bookmark>(); QSqlQuery query; query.prepare("UPDATE bookmarks SET toolbar_position=? WHERE id=?"); query.addBindValue(index + 1); query.addBindValue(bookmark.id); mApp->dbWriter()->executeQuery(query); query.prepare("UPDATE bookmarks SET toolbar_position=? WHERE id=?"); query.addBindValue(index); query.addBindValue(bookmarkRight.id); mApp->dbWriter()->executeQuery(query); QWidget* w = m_layout->takeAt(index)->widget(); m_layout->insertWidget(index + 1, w); }
void BookmarksToolbar::removeButton() { QAction* act = qobject_cast<QAction*> (sender()); if (!act) { return; } ToolButton* button = (ToolButton*) act->data().value<void*>(); if (!button) { return; } Bookmark bookmark = button->data().value<Bookmark>(); m_bookmarksModel->removeBookmark(bookmark.id); }
void BookmarksToolbar::moveLeft() { QAction* act = qobject_cast<QAction*> (sender()); if (!act) { return; } ToolButton* button = static_cast<ToolButton*>(act->data().value<void*>()); int index = m_layout->indexOf(button); if (index == 0) { return; } ToolButton* buttonLeft = qobject_cast<ToolButton*> (m_layout->itemAt(index - 1)->widget()); if (!buttonLeft) { return; } Bookmark bookmark = button->data().value<Bookmark>(); Bookmark bookmarkLeft = buttonLeft->data().value<Bookmark>(); QSqlQuery query; query.prepare("UPDATE bookmarks SET position=? WHERE id=?"); query.addBindValue(index - 1); query.addBindValue(bookmark.id); mApp->dbWriter()->executeQuery(query); query.prepare("UPDATE bookmarks SET position=? WHERE id=?"); query.addBindValue(index); query.addBindValue(bookmarkLeft.id); mApp->dbWriter()->executeQuery(query); QWidget* w = m_layout->takeAt(index)->widget(); m_layout->insertWidget(index - 1, w); }
void BookmarksToolbar::removeBookmark(const BookmarksModel::Bookmark &bookmark) { for (int i = 0; i < m_layout->count(); i++) { ToolButton* button = qobject_cast<ToolButton*>(m_layout->itemAt(i)->widget()); if (!button) { continue; } Bookmark book = button->data().value<Bookmark>(); if (book == bookmark) { delete button; return; } } }
void BookmarksToolbar::loadClickedBookmarkInNewTab() { ToolButton* button = 0; QAction* act = qobject_cast<QAction*> (sender()); if (act) { button = static_cast<ToolButton*>(act->data().value<void*>()); } if (!button) { button = qobject_cast<ToolButton*>(sender()); } if (!button) { return; } Bookmark bookmark = button->data().value<Bookmark>(); p_QupZilla->tabWidget()->addView(bookmark.url, bookmark.title); }
void BookmarksToolbar::loadClickedBookmark() { ToolButton* button = 0; QAction* act = qobject_cast<QAction*> (sender()); if (act) { button = static_cast<ToolButton*>(act->data().value<void*>()); } if (!button) { button = qobject_cast<ToolButton*>(sender()); } if (!button) { return; } Bookmark bookmark = button->data().value<Bookmark>(); p_QupZilla->loadAddress(bookmark.url); }
void BookmarksToolbar::bookmarkEdited(const BookmarksModel::Bookmark &before, const BookmarksModel::Bookmark &after) { if (before.folder == QLatin1String("bookmarksToolbar") && after.folder != QLatin1String("bookmarksToolbar")) { // Editing from toolbar folder to other folder -> Remove bookmark removeBookmark(before); } else if (before.folder != QLatin1String("bookmarksToolbar") && after.folder == QLatin1String("bookmarksToolbar")) { // Editing from other folder to toolbar folder -> Add bookmark addBookmark(after); } else { // Editing bookmark already in toolbar for (int i = 0; i < m_layout->count(); i++) { ToolButton* button = qobject_cast<ToolButton*>(m_layout->itemAt(i)->widget()); if (!button) { continue; } Bookmark book = button->data().value<Bookmark>(); if (book == before) { QString title = after.title; if (title.length() > 15) { title.truncate(13); title += ".."; } QVariant v; v.setValue<Bookmark>(after); button->setText(title); button->setData(v); button->setIcon(qIconProvider->iconFromImage(after.image)); button->setToolTip(after.url.toEncoded()); return; } } } }