eric7/WebBrowser/Bookmarks/BookmarkPropertiesDialog.py

branch
eric7
changeset 8312
800c432b34c8
parent 8218
7c09585bd960
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to show and edit bookmark properties.
8 """
9
10 from PyQt5.QtWidgets import QDialog
11
12 from .Ui_BookmarkPropertiesDialog import Ui_BookmarkPropertiesDialog
13
14
15 class BookmarkPropertiesDialog(QDialog, Ui_BookmarkPropertiesDialog):
16 """
17 Class implementing a dialog to show and edit bookmark properties.
18 """
19 def __init__(self, node, parent=None):
20 """
21 Constructor
22
23 @param node reference to the bookmark (BookmarkNode)
24 @param parent reference to the parent widget (QWidget)
25 """
26 super().__init__(parent)
27 self.setupUi(self)
28
29 from .BookmarkNode import BookmarkNode
30 self.__node = node
31 if self.__node.type() == BookmarkNode.Folder:
32 self.addressLabel.hide()
33 self.addressEdit.hide()
34 self.visitedLabel.hide()
35
36 self.nameEdit.setText(self.__node.title)
37 self.descriptionEdit.setPlainText(self.__node.desc)
38 self.addressEdit.setText(self.__node.url)
39 self.visitedLabel.setText(self.tr(
40 "Visited <b>{0}</b> times. Last visit on <b>{1}</b>.").format(
41 self.__node.visitCount,
42 self.__node.visited.toString("yyyy-MM-dd hh:mm")))
43
44 def accept(self):
45 """
46 Public slot handling the acceptance of the dialog.
47 """
48 from .BookmarkNode import BookmarkNode
49
50 if (
51 (self.__node.type() == BookmarkNode.Bookmark and
52 not self.addressEdit.text()) or
53 not self.nameEdit.text()
54 ):
55 super().accept()
56 return
57
58 import WebBrowser.WebBrowserWindow
59 bookmarksManager = (
60 WebBrowser.WebBrowserWindow.WebBrowserWindow.bookmarksManager()
61 )
62 title = self.nameEdit.text()
63 if title != self.__node.title:
64 bookmarksManager.setTitle(self.__node, title)
65 if self.__node.type() == BookmarkNode.Bookmark:
66 url = self.addressEdit.text()
67 if url != self.__node.url:
68 bookmarksManager.setUrl(self.__node, url)
69 description = self.descriptionEdit.toPlainText()
70 if description != self.__node.desc:
71 self.__node.desc = description
72 bookmarksManager.setNodeChanged(self.__node)
73
74 super().accept()

eric ide

mercurial