本文整理汇总了C++中ToolButton::data方法的典型用法代码示例。如果您正苦于以下问题:C++ ToolButton::data方法的具体用法?C++ ToolButton::data怎么用?C++ ToolButton::data使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ToolButton
的用法示例。
在下文中一共展示了ToolButton::data方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: loadClickedBookmarkInNewTab
void BookmarksToolbar::loadClickedBookmarkInNewTab()
{
ToolButton* button = qobject_cast<ToolButton*>(sender());
if (!button) {
return;
}
Bookmark bookmark = button->data().value<Bookmark>();
p_QupZilla->tabWidget()->addView(bookmark.url);
}
示例2: loadClickedBookmark
void BookmarksToolbar::loadClickedBookmark()
{
ToolButton* button = qobject_cast<ToolButton*>(sender());
if (!button) {
return;
}
Bookmark bookmark = button->data().value<Bookmark>();
p_QupZilla->loadAddress(bookmark.url);
}
示例3: editBookmark
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);
}
示例4: moveRight
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);
}
示例5: removeButton
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);
}
示例6: moveLeft
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);
}
示例7: removeBookmark
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;
}
}
}
示例8: loadClickedBookmarkInNewTab
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);
}
示例9: loadClickedBookmark
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);
}
示例10: bookmarkEdited
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;
}
}
}
}