eric7/WebBrowser/QtHelp/HelpTopicDialog.py

Thu, 30 Dec 2021 11:17:58 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 30 Dec 2021 11:17:58 +0100
branch
eric7
changeset 8881
54e42bc2437a
parent 8685
b0669ce1066d
permissions
-rw-r--r--

Updated copyright for 2022.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
8881
54e42bc2437a Updated copyright for 2022.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8685
diff changeset
3 # Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to select a help topic to display.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
10 from PyQt6.QtCore import Qt
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
11 from PyQt6.QtHelp import QHelpLink
8685
b0669ce1066d Continued implementing the embedded help viewer widget. Added the help index and help search widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8565
diff changeset
12 from PyQt6.QtWidgets import QDialog, QListWidgetItem
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
14 from .Ui_HelpTopicDialog import Ui_HelpTopicDialog
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
16
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 class HelpTopicDialog(QDialog, Ui_HelpTopicDialog):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 Class implementing a dialog to select a help topic to display.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
8565
207b47c2eed9 Next batch of changes for QtHelp as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8421
diff changeset
21 def __init__(self, parent, helpKeyword, documents):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
25 @param parent reference to the parent widget
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
26 @type QWidget
8565
207b47c2eed9 Next batch of changes for QtHelp as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8421
diff changeset
27 @param helpKeyword keyword for the link set
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
28 @type str
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
29 @param documents list of help document link data structures
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
30 @type list of QHelpLink
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
32 super().__init__(parent)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
35 self.label.setText(self.tr("Choose a &topic for <b>{0}</b>:")
8565
207b47c2eed9 Next batch of changes for QtHelp as of Qt 6.2.0.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8421
diff changeset
36 .format(helpKeyword))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
38 for document in documents:
8685
b0669ce1066d Continued implementing the embedded help viewer widget. Added the help index and help search widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8565
diff changeset
39 itm = QListWidgetItem(document.title, self.topicsList)
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
40 itm.setData(Qt.ItemDataRole.UserRole, document.url)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
41 if self.topicsList.count() > 0:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.topicsList.setCurrentRow(0)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.topicsList.setFocus()
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
487
4d41d03d3d00 Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 113
diff changeset
45 self.topicsList.itemActivated.connect(self.accept)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
47 def document(self):
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
49 Public method to retrieve the selected help topic.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
51 @return help document link for the selected help topic
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
52 @rtype QHelpLink
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
53 """
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
54 document = QHelpLink()
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
55
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 itm = self.topicsList.currentItem()
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
57 if itm is not None:
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
58 document.title = itm.text()
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
59 document.url = itm.data(Qt.ItemDataRole.UserRole)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
60
8421
cd4eee7f1d28 QtHelp: changed the code to not use deprecated methods anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8318
diff changeset
61 return document

eric ide

mercurial