+void BookmarksDialog::onEdit()
+{
+ TRACE;
+ QModelIndex current = currentItem();
+ if (!current.isValid()) {
+ return;
+ }
+ int row = current.row();
+ Book::Bookmark b = book->bookmarks()[row];
+ bool ok;
+ QString text = QInputDialog::getText(this, tr("Edit bookmark"),
+ tr("Note:"), QLineEdit::Normal, b.note, &ok);
+ if (!ok) {
+ return;
+ }
+ b.note = text;
+ book->setBookmarkNote(row, text);
+ QStringListModel *m = qobject_cast<QStringListModel *>(model());
+ if (m) {
+ m->setData(current, bookmarkToText(b), Qt::DisplayRole);
+ }
+}
+
+QString BookmarksDialog::bookmarkToText(const Book::Bookmark &bookmark)