void BookmarkEditDlg::OnItemModify(void) { if (mListCtrl.GetSelectedCount() > 0) { xpr_sint_t sIndex = mListCtrl.GetSelectionMark(); BookmarkItem *sBookmarkItem = (BookmarkItem *)mListCtrl.GetItemData(sIndex); BookmarkItemEditDlg sDlg; sDlg.add(sBookmarkItem); if (sDlg.DoModal() == IDOK) { if (sDlg.mBookmark.mPath.empty() == XPR_FALSE) { sDlg.copyBookmark(sBookmarkItem); sBookmarkItem->newSignature(); sBookmarkItem->destroyIcon(); mListCtrl.SetItemData(sIndex, XPR_NULL); mListCtrl.DeleteItem(sIndex); addBookmark(sBookmarkItem, IconReqShellIcon, sIndex); setItemFocus(sIndex); } } } updateStatus(); }