/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/smolbote.hg * * SPDX-License-Identifier: GPL-3.0 */ #include "editbookmarkdialog.h" #include "../bookmarkitem.h" #include "../bookmarkmodel.h" #include "ui_editbookmarkdialog.h" EditBookmarkDialog::EditBookmarkDialog(BookmarkModel *model, const QModelIndex &index, QWidget *parent) : QDialog(parent) , ui(new Ui::EditBookmarkDialog) { ui->setupUi(this); setAttribute(Qt::WA_DeleteOnClose, true); ui->title->setText(model->data(index, BookmarkItem::Title, Qt::DisplayRole).toString()); connect(ui->title, &QLineEdit::editingFinished, this, [this, model, index]() { model->setData(index, ui->title->text(), BookmarkItem::Title, Qt::DisplayRole); }); ui->address->setText(model->data(index, BookmarkItem::Href, Qt::DisplayRole).toString()); connect(ui->address, &QLineEdit::editingFinished, this, [this, model, index]() { model->setData(index, ui->address->text(), BookmarkItem::Href, Qt::DisplayRole); }); ui->tags->setText(model->data(index, BookmarkItem::Tags, Qt::DisplayRole).toStringList().join(", ")); connect(ui->tags, &QLineEdit::editingFinished, this, [this, model, index]() { model->setData(index, ui->tags->text().split(", "), BookmarkItem::Tags, Qt::DisplayRole); }); ui->description->setPlainText(model->data(index, BookmarkItem::Description, Qt::DisplayRole).toString()); connect(ui->description, &QPlainTextEdit::textChanged, this, [this, model, index]() { model->setData(index, ui->description->toPlainText(), BookmarkItem::Description, Qt::DisplayRole); }); } EditBookmarkDialog::~EditBookmarkDialog() { delete ui; }