WebBrowser/Bookmarks/BookmarkPropertiesDialog.py

branch
QtWebEngine
changeset 4732
5ac4fc1dfc20
parent 4631
5c1a96925da4
child 5015
ca1d44f0f6b2
equal deleted inserted replaced
4731:67d861d9e492 4732:5ac4fc1dfc20
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2016 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a dialog to show and edit bookmark properties.
8 """
9
10 from __future__ import unicode_literals
11
12 from PyQt5.QtWidgets import QDialog
13
14 from .Ui_BookmarkPropertiesDialog import Ui_BookmarkPropertiesDialog
15
16
17 class BookmarkPropertiesDialog(QDialog, Ui_BookmarkPropertiesDialog):
18 """
19 Class implementing a dialog to show and edit bookmark properties.
20 """
21 def __init__(self, node, parent=None):
22 """
23 Constructor
24
25 @param node reference to the bookmark (BookmarkNode)
26 @param parent reference to the parent widget (QWidget)
27 """
28 super(BookmarkPropertiesDialog, self).__init__(parent)
29 self.setupUi(self)
30
31 from .BookmarkNode import BookmarkNode
32 self.__node = node
33 if self.__node.type() == BookmarkNode.Folder:
34 self.addressLabel.hide()
35 self.addressEdit.hide()
36
37 self.nameEdit.setText(self.__node.title)
38 self.descriptionEdit.setPlainText(self.__node.desc)
39 self.addressEdit.setText(self.__node.url)
40
41 def accept(self):
42 """
43 Public slot handling the acceptance of the dialog.
44 """
45 from .BookmarkNode import BookmarkNode
46
47 if (self.__node.type() == BookmarkNode.Bookmark and
48 not self.addressEdit.text()) or \
49 not self.nameEdit.text():
50 super(BookmarkPropertiesDialog, self).accept()
51 return
52
53 import WebBrowser.WebBrowserWindow
54 bookmarksManager = WebBrowser.WebBrowserWindow.WebBrowserWindow\
55 .bookmarksManager()
56 title = self.nameEdit.text()
57 if title != self.__node.title:
58 bookmarksManager.setTitle(self.__node, title)
59 if self.__node.type() == BookmarkNode.Bookmark:
60 url = self.addressEdit.text()
61 if url != self.__node.url:
62 bookmarksManager.setUrl(self.__node, url)
63 description = self.descriptionEdit.toPlainText()
64 if description != self.__node.desc:
65 self.__node.desc = description
66 bookmarksManager.setNodeChanged(self.__node)
67
68 super(BookmarkPropertiesDialog, self).accept()

eric ide

mercurial