#14051 PR: Improvements to the About Spyder dialog

Open Jean-Sébastien Gosselin jnsebgosselin
Coverage Reach
plugins/editor/widgets/codeeditor.py plugins/editor/widgets/editor.py plugins/editor/widgets/base.py plugins/editor/widgets/completion.py plugins/editor/widgets/recover.py plugins/editor/widgets/status.py plugins/editor/widgets/autosaveerror.py plugins/editor/widgets/__init__.py plugins/editor/plugin.py plugins/editor/extensions/snippets.py plugins/editor/extensions/docstring.py plugins/editor/extensions/closebrackets.py plugins/editor/extensions/closequotes.py plugins/editor/extensions/manager.py plugins/editor/extensions/__init__.py plugins/editor/utils/editor.py plugins/editor/utils/autosave.py plugins/editor/utils/switcher.py plugins/editor/utils/folding.py plugins/editor/utils/debugger.py plugins/editor/utils/decoration.py plugins/editor/utils/kill_ring.py plugins/editor/utils/bookmarks.py plugins/editor/utils/findtasks.py plugins/editor/utils/languages.py plugins/editor/utils/__init__.py plugins/editor/panels/codefolding.py plugins/editor/panels/manager.py plugins/editor/panels/scrollflag.py plugins/editor/panels/classfunctiondropdown.py plugins/editor/panels/linenumber.py plugins/editor/panels/debugger.py plugins/editor/panels/indentationguides.py plugins/editor/panels/edgeline.py plugins/editor/panels/__init__.py plugins/editor/confpage.py plugins/editor/api/decoration.py plugins/editor/api/folding.py plugins/editor/api/__init__.py plugins/editor/__init__.py plugins/variableexplorer/widgets/collectionseditor.py plugins/variableexplorer/widgets/dataframeeditor.py plugins/variableexplorer/widgets/objectexplorer/tree_model.py plugins/variableexplorer/widgets/objectexplorer/objectexplorer.py plugins/variableexplorer/widgets/objectexplorer/attribute_model.py plugins/variableexplorer/widgets/objectexplorer/toggle_column_mixin.py plugins/variableexplorer/widgets/objectexplorer/tree_item.py plugins/variableexplorer/widgets/objectexplorer/__init__.py plugins/variableexplorer/widgets/objectexplorer/utils.py plugins/variableexplorer/widgets/arrayeditor.py plugins/variableexplorer/widgets/importwizard.py plugins/variableexplorer/widgets/collectionsdelegate.py plugins/variableexplorer/widgets/namespacebrowser.py plugins/variableexplorer/widgets/objecteditor.py plugins/variableexplorer/widgets/texteditor.py plugins/variableexplorer/widgets/basedialog.py plugins/variableexplorer/widgets/__init__.py plugins/variableexplorer/plugin.py plugins/variableexplorer/confpage.py plugins/variableexplorer/__init__.py plugins/completion/languageserver/confpage.py plugins/completion/languageserver/plugin.py plugins/completion/languageserver/client.py plugins/completion/languageserver/providers/document.py plugins/completion/languageserver/providers/workspace.py plugins/completion/languageserver/providers/utils.py plugins/completion/languageserver/providers/window.py plugins/completion/languageserver/providers/client.py plugins/completion/languageserver/providers/__init__.py plugins/completion/languageserver/transport/common/consumer.py plugins/completion/languageserver/transport/common/producer.py plugins/completion/languageserver/transport/stdio/producer.py plugins/completion/languageserver/transport/stdio/consumer.py plugins/completion/languageserver/transport/tcp/producer.py plugins/completion/languageserver/transport/tcp/consumer.py plugins/completion/languageserver/transport/main.py plugins/completion/languageserver/transport/__init__.py plugins/completion/languageserver/__init__.py plugins/completion/languageserver/widgets/status.py plugins/completion/languageserver/widgets/__init__.py plugins/completion/languageserver/decorators.py plugins/completion/kite/widgets/install.py plugins/completion/kite/widgets/calltoaction.py plugins/completion/kite/widgets/status.py plugins/completion/kite/widgets/__init__.py plugins/completion/kite/utils/install.py plugins/completion/kite/utils/status.py plugins/completion/kite/utils/__init__.py plugins/completion/kite/providers/document.py plugins/completion/kite/providers/__init__.py plugins/completion/kite/plugin.py plugins/completion/kite/client.py plugins/completion/kite/decorators.py plugins/completion/kite/parsing/__init__.py plugins/completion/kite/__init__.py plugins/completion/kite/bloomfilter/__init__.py plugins/completion/plugin.py plugins/completion/fallback/utils.py plugins/completion/fallback/actor.py plugins/completion/fallback/plugin.py plugins/completion/decorators.py plugins/completion/__init__.py plugins/ipythonconsole/widgets/client.py plugins/ipythonconsole/widgets/shell.py plugins/ipythonconsole/widgets/debugging.py plugins/ipythonconsole/widgets/kernelconnect.py plugins/ipythonconsole/widgets/namespacebrowser.py plugins/ipythonconsole/widgets/help.py plugins/ipythonconsole/widgets/control.py plugins/ipythonconsole/widgets/figurebrowser.py plugins/ipythonconsole/widgets/__init__.py plugins/ipythonconsole/plugin.py plugins/ipythonconsole/utils/style.py plugins/ipythonconsole/utils/kernelspec.py plugins/ipythonconsole/utils/ssh.py plugins/ipythonconsole/utils/manager.py plugins/ipythonconsole/utils/__init__.py plugins/ipythonconsole/confpage.py plugins/ipythonconsole/comms/kernelcomm.py plugins/ipythonconsole/comms/__init__.py plugins/ipythonconsole/__init__.py plugins/explorer/widgets/explorer.py plugins/explorer/widgets/fileassociations.py plugins/explorer/widgets/__init__.py plugins/explorer/plugin.py plugins/explorer/confpage.py plugins/explorer/__init__.py plugins/console/widgets/shell.py plugins/console/widgets/internalshell.py plugins/console/widgets/console.py plugins/console/widgets/__init__.py plugins/console/utils/interpreter.py plugins/console/utils/ansihandler.py plugins/console/utils/__init__.py plugins/console/plugin.py plugins/console/__init__.py plugins/findinfiles/widgets.py plugins/findinfiles/plugin.py plugins/findinfiles/__init__.py plugins/outlineexplorer/widgets.py plugins/outlineexplorer/api.py plugins/outlineexplorer/plugin.py plugins/outlineexplorer/editor.py plugins/outlineexplorer/languages.py plugins/outlineexplorer/__init__.py plugins/projects/plugin.py plugins/projects/widgets/explorer.py plugins/projects/widgets/projectdialog.py plugins/projects/widgets/__init__.py plugins/projects/utils/watcher.py plugins/projects/utils/config.py plugins/projects/utils/__init__.py plugins/projects/projecttypes/__init__.py plugins/projects/projecttypes/python.py plugins/projects/__init__.py plugins/projects/confpage.py plugins/help/plugin.py plugins/help/utils/sphinxify.py plugins/help/utils/sphinxthread.py plugins/help/utils/conf.py plugins/help/utils/__init__.py plugins/help/widgets.py plugins/help/confpage.py plugins/help/__init__.py plugins/onlinehelp/pydoc_patch.py plugins/onlinehelp/widgets.py plugins/onlinehelp/plugin.py plugins/onlinehelp/__init__.py plugins/plots/widgets/figurebrowser.py plugins/plots/plugin.py plugins/plots/__init__.py plugins/profiler/widgets/profilergui.py plugins/profiler/plugin.py plugins/profiler/confpage.py plugins/profiler/__init__.py plugins/pylint/widgets/pylintgui.py plugins/pylint/plugin.py plugins/pylint/confpage.py plugins/pylint/utils.py plugins/pylint/__init__.py plugins/history/plugin.py plugins/history/widgets.py plugins/history/confpage.py plugins/history/__init__.py plugins/base.py plugins/breakpoints/widgets/breakpointsgui.py plugins/breakpoints/plugin.py plugins/breakpoints/__init__.py plugins/workingdirectory/plugin.py plugins/workingdirectory/confpage.py plugins/workingdirectory/__init__.py plugins/io_hdf5/plugin.py plugins/io_hdf5/__init__.py plugins/io_dcm/plugin.py plugins/io_dcm/__init__.py plugins/__init__.py widgets/mixins.py widgets/switcher.py widgets/findreplace.py widgets/calltip.py widgets/tabs.py widgets/pathmanager.py widgets/arraybuilder.py widgets/browser.py widgets/helperwidgets.py widgets/comboboxes.py widgets/reporterror.py widgets/github/backend.py widgets/github/gh_login.py widgets/github/__init__.py widgets/status.py widgets/waitingspinner.py widgets/onecolumntree.py widgets/dock.py widgets/dependencies.py widgets/shortcutssummary.py widgets/about.py widgets/colors.py widgets/__init__.py utils/syntaxhighlighters.py utils/programs.py utils/snippets/nodes.py utils/snippets/parser.py utils/snippets/ast.py utils/snippets/lexer.py utils/qthelpers.py utils/introspection/old_fallback.py utils/introspection/rope_patch.py utils/introspection/module_completion.py utils/introspection/__init__.py utils/workers.py utils/encoding.py utils/misc.py utils/sourcecode.py utils/icon_manager.py utils/vcs.py utils/stringmatching.py utils/environ.py utils/switcher.py utils/debug.py utils/bsdsocket.py utils/conda.py utils/system.py utils/windows.py utils/fixtures.py utils/qstringhelpers.py utils/test.py utils/__init__.py app/mainwindow.py app/tour.py app/restart.py app/start.py app/utils.py app/cli_options.py app/__init__.py preferences/configdialog.py preferences/shortcuts.py preferences/runconfig.py preferences/appearance.py preferences/layoutdialog.py preferences/general.py preferences/maininterpreter.py preferences/__init__.py config/user.py config/base.py config/manager.py config/utils.py config/gui.py config/main.py config/fonts.py config/appearance.py config/lsp.py api/plugins.py api/panel.py api/editorextension.py api/completion.py api/preferences.py api/manager.py api/editor.py api/translations.py api/__init__.py py3compat.py dependencies.py workers/updates.py otherplugins.py requirements.py __init__.py pil_patch.py pyplot.py

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.

Showing 1 of 1 files from the diff.

@@ -28,8 +28,9 @@
Loading
28 28
29 29
    def __init__(self, parent):
30 30
        """Create About Spyder dialog with general information."""
31 -
32 31
        QDialog.__init__(self, parent)
32 +
        self.setWindowFlags(
33 +
            self.windowFlags() & ~Qt.WindowContextHelpButtonHint)
33 34
        versions = get_versions()
34 35
        # Show Git revision for development version
35 36
        revlink = ''
@@ -133,6 +134,8 @@
Loading
133 134
        self.label.setWordWrap(True)
134 135
        self.label.setAlignment(Qt.AlignTop)
135 136
        self.label.setOpenExternalLinks(True)
137 +
        self.label.setTextInteractionFlags(Qt.TextBrowserInteraction)
138 +
        self.label.setFixedWidth(350)
136 139
137 140
        if is_dark_interface():
138 141
            icon_filename = "spyder.svg"
@@ -141,14 +144,15 @@
Loading
141 144
142 145
        pixmap = QPixmap(get_image_path(icon_filename))
143 146
        self.label_pic = QLabel(self)
144 -
        self.label_pic.setPixmap(pixmap.scaled(64, 64))
147 +
        self.label_pic.setPixmap(
148 +
            pixmap.scaledToWidth(64, Qt.SmoothTransformation))
145 149
        self.label_pic.setAlignment(Qt.AlignTop)
146 150
147 151
        btn = QPushButton(_("Copy to clipboard"), )
148 152
        bbox = QDialogButtonBox(QDialogButtonBox.Ok)
149 153
150 154
        # Widget setup
151 -
        self.setWindowIcon(ima.icon('tooloptions'))
155 +
        self.setWindowIcon(ima.icon('MessageBoxInformation'))
152 156
        self.setModal(False)
153 157
154 158
        # Layout
@@ -161,12 +165,11 @@
Loading
161 165
        btmhlayout.addStretch()
162 166
        btmhlayout.addWidget(bbox)
163 167
164 -
        vlayout = QVBoxLayout()
168 +
        vlayout = QVBoxLayout(self)
165 169
        vlayout.addLayout(tophlayout)
170 +
        vlayout.addSpacing(25)
166 171
        vlayout.addLayout(btmhlayout)
167 -
168 -
        self.setLayout(vlayout)
169 -
        self.setFixedSize(410, 560)
172 +
        vlayout.setSizeConstraint(vlayout.SetFixedSize)
170 173
171 174
        # Signals
172 175
        btn.clicked.connect(self.copy_to_clipboard)

Learn more Showing 5 files with coverage changes found.

Changes in spyder/plugins/completion/languageserver/client.py
-6
+6
Loading file...
Changes in spyder/plugins/onlinehelp/widgets.py
-1
+1
Loading file...
Changes in spyder/plugins/editor/widgets/recover.py
-2
+2
Loading file...
Changes in spyder/utils/programs.py
-6
+6
Loading file...
Changes in spyder/plugins/editor/panels/scrollflag.py
-3
+3
Loading file...
Files Coverage
spyder +<.01% 72.68%
Project Totals (289 files) 72.68%
Loading