eric6/WebBrowser/Bookmarks/BookmarkPropertiesDialog.py

changeset 6942
2602857055c5
parent 6645
ad476851d7e0
child 7229
53054eb5b15a
equal deleted inserted replaced
6941:f99d60d6b59b 6942:2602857055c5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2012 - 2019 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 self.visitedLabel.hide()
37
38 self.nameEdit.setText(self.__node.title)
39 self.descriptionEdit.setPlainText(self.__node.desc)
40 self.addressEdit.setText(self.__node.url)
41 self.visitedLabel.setText(self.tr(
42 "Visited <b>{0}</b> times. Last visit on <b>{1}</b>.").format(
43 self.__node.visitCount,
44 self.__node.visited.toString("yyyy-MM-dd hh:mm")))
45
46 def accept(self):
47 """
48 Public slot handling the acceptance of the dialog.
49 """
50 from .BookmarkNode import BookmarkNode
51
52 if (self.__node.type() == BookmarkNode.Bookmark and
53 not self.addressEdit.text()) or \
54 not self.nameEdit.text():
55 super(BookmarkPropertiesDialog, self).accept()
56 return
57
58 import WebBrowser.WebBrowserWindow
59 bookmarksManager = WebBrowser.WebBrowserWindow.WebBrowserWindow\
60 .bookmarksManager()
61 title = self.nameEdit.text()
62 if title != self.__node.title:
63 bookmarksManager.setTitle(self.__node, title)
64 if self.__node.type() == BookmarkNode.Bookmark:
65 url = self.addressEdit.text()
66 if url != self.__node.url:
67 bookmarksManager.setUrl(self.__node, url)
68 description = self.descriptionEdit.toPlainText()
69 if description != self.__node.desc:
70 self.__node.desc = description
71 bookmarksManager.setNodeChanged(self.__node)
72
73 super(BookmarkPropertiesDialog, self).accept()

eric ide

mercurial