eric7/HelpViewer/HelpBookmarkPropertiesDialog.py

Tue, 04 Jan 2022 17:13:35 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 04 Jan 2022 17:13:35 +0100
branch
eric7
changeset 8900
9c153ce17d74
child 8902
ba9b8c6e4928
permissions
-rw-r--r--

Help Viewer
- added bookmarks to the internal help viewer

8900
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2022 Detlev Offenbach <detlev@die-offenbachs.de>
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to edit the bookmark properties.
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from PyQt6.QtCore import pyqtSlot
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 from PyQt6.QtWidgets import QDialog, QDialogButtonBox
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13 from .Ui_HelpBookmarkPropertiesDialog import Ui_HelpBookmarkPropertiesDialog
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 class HelpBookmarkPropertiesDialog(QDialog, Ui_HelpBookmarkPropertiesDialog):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 Class implementing a dialog to edit the bookmark properties.
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 def __init__(self, title="", url="", parent=None):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 Constructor
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 @param title title for the bookmark (defaults to "")
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 @type str (optional)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 @param url URL for the bookmark (defaults to "")
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 @type str (optional)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 @param parent reference to the parent widget (defaults to None)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 @type QWidget (optional)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 super().__init__(parent)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 self.setupUi(self)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.titleEdit.textChanged.connect(self.__updateOkButton)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 self.urlEdit.textChanged.connect(self.__updateOkButton)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 self.titleEdit.setText(title)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
38 self.urlEdit.setText(url)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
39
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 msh = self.minimumSizeHint()
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 self.resize(max(self.width(), msh.width()), msh.height())
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 @pyqtSlot()
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44 def __updateOkButton(self):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 Private method to set the enabled state of the OK button.
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 bool(self.titleEdit.text().strip()) and
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 bool(self.urlEdit.text().strip())
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 )
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 def getData(self):
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
55 Public method to retrieve the entered data
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
57 @return tuple containing the title and URL for the bookmark
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @rtype tuple of (str, str)
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60 return (
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 self.titleEdit.text().strip(),
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
62 self.urlEdit.text().strip(),
9c153ce17d74 Help Viewer
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 )

eric ide

mercurial