diff -r 4e8b98454baa -r 800c432b34c8 eric7/CondaInterface/CondaInfoDialog.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric7/CondaInterface/CondaInfoDialog.py Sat May 15 18:45:04 2021 +0200 @@ -0,0 +1,138 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Module implementing the conda information dialog. +""" + +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import QDialog + +from .Ui_CondaInfoDialog import Ui_CondaInfoDialog + +import UI.PixmapCache + + +class CondaInfoDialog(QDialog, Ui_CondaInfoDialog): + """ + Class implementing the conda information dialog. + """ + def __init__(self, infoDict, parent=None): + """ + Constructor + + @param infoDict dictionary containing the information to be shown + @type dict + @param parent reference to the parent widget + @type QWidget + """ + super().__init__(parent) + self.setupUi(self) + self.setWindowFlags(Qt.WindowType.Window) + + self.iconLabel.setPixmap( + UI.PixmapCache.getPixmap("miniconda48")) + + # version information + if "conda_version" in infoDict: + self.condaVersionLabel.setText( + infoDict["conda_version"]) + if "conda_build_version" in infoDict: + self.condaBuildVersionLabel.setText( + infoDict["conda_build_version"]) + if "conda_env_version" in infoDict: + self.condaEnvVersionLabel.setText( + infoDict["conda_env_version"]) + if "python_version" in infoDict: + self.pythonVersionLabel.setText( + infoDict["python_version"]) + + # prefixes + if "active_prefix" in infoDict or "active_prefix_name" in infoDict: + if infoDict["active_prefix_name"] and infoDict["active_prefix"]: + self.activeEnvironmentEdit.setText( + "{0} ({1})".format(infoDict["active_prefix_name"], + infoDict["active_prefix"])) + elif infoDict["active_prefix"]: + self.activeEnvironmentEdit.setText( + infoDict["active_prefix"]) + elif infoDict["active_prefix_name"]: + self.activeEnvironmentEdit.setText( + infoDict["active_prefix_name"]) + else: + self.activeEnvironmentEdit.setText( + self.tr("None")) + else: + self.activeEnvironmentLabel.hide() + self.activeEnvironmentEdit.hide() + if "root_prefix" in infoDict: + if "root_writable" in infoDict and infoDict["root_writable"]: + self.baseEnvironmentEdit.setText( + self.tr("{0} (writable)").format(infoDict["root_prefix"])) + else: + self.baseEnvironmentEdit.setText( + infoDict["root_prefix"]) + if "envs_dirs" in infoDict: + self.envDirsEdit.setPlainText( + "\n".join(infoDict["envs_dirs"])) + + # configurations + if "rc_path" in infoDict: + self.userConfigEdit.setText( + infoDict["rc_path"]) + if "user_rc_path" in infoDict: + # overwrite with more specific info + self.userConfigEdit.setText( + infoDict["user_rc_path"]) + if "sys_rc_path" in infoDict: + self.systemConfigEdit.setText( + infoDict["sys_rc_path"]) + if "config_files" in infoDict: + self.configurationsEdit.setPlainText( + "\n".join(infoDict["config_files"])) + else: + self.configurationsLabel.hide() + self.configurationsEdit.hide() + + # channels + if "channels" in infoDict: + self.channelsEdit.setPlainText( + "\n".join(infoDict["channels"])) + + # various + if "pkgs_dirs" in infoDict: + self.cachesEdit.setPlainText( + "\n".join(infoDict["pkgs_dirs"])) + if "platform" in infoDict: + self.platformLabel.setText( + infoDict["platform"]) + if "user_agent" in infoDict: + self.useragentEdit.setText( + infoDict["user_agent"]) + else: + self.useragentLabel.hide() + self.useragentEdit.hide() + if "UID" in infoDict and "GID" in infoDict: + self.uidGidDataLabel.setText( + "{0}:{1}".format(infoDict["UID"], infoDict["GID"])) + else: + self.uidGidLabel.hide() + self.uidGidDataLabel.hide() + if "netrc_file" in infoDict: + if infoDict["netrc_file"]: + self.netrcEdit.setText( + infoDict["netrc_file"]) + else: + self.netrcEdit.setText( + self.tr("None")) + else: + self.netrcLabel.hide() + self.netrcEdit.hide() + if "offline" in infoDict: + self.offlineCheckBox.setChecked( + infoDict["offline"]) + + msh = self.minimumSizeHint() + self.resize(max(self.width(), msh.width()), msh.height())