--- a/eric6/WebBrowser/Bookmarks/BookmarksDialog.py Wed May 06 18:10:18 2020 +0200 +++ b/eric6/WebBrowser/Bookmarks/BookmarksDialog.py Wed May 06 18:15:52 2020 +0200 @@ -10,7 +10,9 @@ from PyQt5.QtCore import pyqtSignal, Qt, QUrl, QModelIndex from PyQt5.QtGui import QFontMetrics, QCursor -from PyQt5.QtWidgets import QDialog, QMenu, QApplication +from PyQt5.QtWidgets import ( + QDialog, QMenu, QApplication, QInputDialog, QLineEdit +) from E5Gui.E5TreeSortFilterProxyModel import E5TreeSortFilterProxyModel @@ -175,6 +177,9 @@ menu.addSeparator() act = menu.addAction(self.tr("&Properties..."), self.__edit) act.setEnabled(idx.flags() & Qt.ItemIsEditable) + if idx.isValid() and node.type() == BookmarkNode.Folder: + menu.addSeparator() + menu.addAction(self.tr("New &Folder..."), self.__newFolder) menu.exec_(QCursor.pos()) def __activated(self, idx): @@ -327,6 +332,15 @@ idx = self.__proxyModel.mapToSource(idx) parent = self.__bookmarksModel.node(idx) - node = BookmarkNode(BookmarkNode.Folder) - node.title = self.tr("New Folder") - self.__bookmarksManager.addBookmark(parent, node, row) + title, ok = QInputDialog.getText( + self, + self.tr("New Bookmark Folder"), + self.tr("Enter title for new bookmark folder:"), + QLineEdit.Normal) + + if ok: + if not title: + title = self.tr("New Folder") + node = BookmarkNode(BookmarkNode.Folder) + node.title = title + self.__bookmarksManager.addBookmark(parent, node, row)