void BookmarkInfoWidget::slotUpdate() { const QModelIndexList & list = mBookmarkListView->selectionModel()->selectedRows(); if( list.count() == 1) { QModelIndex index = *list.constBegin(); showBookmark( mBookmarkListView->bookmarkModel()->bookmarkForIndex(index) ); } else showBookmark( KBookmark() ); }
BookmarkInfoWidget::BookmarkInfoWidget(BookmarkListView * lv, KBookmarkModel* model, QWidget *parent) : QWidget(parent), m_model(model), mBookmarkListView(lv) { connect(mBookmarkListView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), SLOT( slotUpdate())); connect(mBookmarkListView->model(), SIGNAL(dataChanged( const QModelIndex &, const QModelIndex &)), SLOT( slotUpdate())); timer = new QTimer(this); timer->setSingleShot(true); connect(timer, SIGNAL(timeout()), SLOT(commitChanges())); titlecmd = 0; urlcmd = 0; commentcmd = 0; QHBoxLayout *layout = new QHBoxLayout(this); QFormLayout *form1 = new QFormLayout(); QFormLayout *form2 = new QFormLayout(); layout->addLayout(form1); layout->addLayout(form2); m_title_le = new KLineEdit(this); m_title_le->setClearButtonShown(true); form1->addRow(i18n("Name:"), m_title_le); connect(m_title_le, SIGNAL( textChanged(const QString &) ), SLOT( slotTextChangedTitle(const QString &) )); connect(m_title_le, SIGNAL( editingFinished() ), SLOT( commitTitle() )); m_url_le = new KLineEdit(this); m_url_le->setClearButtonShown(true); form1->addRow(i18n("Location:"), m_url_le); connect(m_url_le, SIGNAL( textChanged(const QString &) ), SLOT( slotTextChangedURL(const QString &) )); connect(m_url_le, SIGNAL( editingFinished() ), SLOT( commitURL() )); m_comment_le = new KLineEdit(this); m_comment_le->setClearButtonShown(true); form1->addRow(i18n("Comment:"), m_comment_le); connect(m_comment_le, SIGNAL( textChanged(const QString &) ), SLOT( slotTextChangedComment(const QString &) )); connect(m_comment_le, SIGNAL( editingFinished() ), SLOT( commitComment() )); m_credate_le = new KLineEdit(this); form2->addRow(i18n("First viewed:"), m_credate_le); m_visitdate_le = new KLineEdit(this); form2->addRow(i18n("Viewed last:"), m_visitdate_le); m_visitcount_le = new KLineEdit(this); form2->addRow(i18n("Times visited:"), m_visitcount_le); showBookmark(KBookmark()); }