def create_toolbutton(parent, text=None, shortcut=None, icon=None, tip=None, toggled=None, triggered=None, autoraise=True, text_beside_icon=False): """Create a QToolButton""" button = QToolButton(parent) if text is not None: button.setText(text) if icon is not None: if is_text_string(icon): icon = get_icon(icon) button.setIcon(icon) if text is not None or tip is not None: button.setToolTip(text if tip is None else tip) if text_beside_icon: button.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) button.setAutoRaise(autoraise) if triggered is not None: button.clicked.connect(triggered) if toggled is not None: button.toggled.connect(toggled) button.setCheckable(True) if shortcut is not None: button.setShortcut(shortcut) return button
def set_item_display(self, item_widget, item_info, height, width): """Set item text & icons using the info available.""" item_provider = item_info['provider'] item_type = self.ITEM_TYPE_MAP.get(item_info['kind'], 'no_match') item_label = item_info['label'] icon_provider = ("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0l" "EQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=") img_height = height - 2 img_width = img_height * 0.8 icon_provider, icon_scale = item_info.get('icon', (None, 1)) if icon_provider is not None: icon_height = img_height icon_width = icon_scale * icon_height icon_provider = ima.get_icon(icon_provider, adjust_for_interface=True) icon_provider = ima.base64_from_icon_obj(icon_provider, icon_width, icon_height) item_text = self.get_html_item_representation( item_label, item_type, icon_provider=icon_provider, img_height=img_height, img_width=img_width, height=height, width=width) item_widget.setText(item_text) item_widget.setIcon(self._get_cached_icon(item_type))
def create_python_script_action(parent, text, icon, package, module, args=[]): """Create action to run a GUI based Python script""" if is_text_string(icon): icon = get_icon(icon) if programs.python_script_exists(package, module): return create_action(parent, text, icon=icon, triggered=lambda: programs.run_python_script(package, module, args))
def create_icon(name, image_file=False): """ Create an icon by name using the spyder Icon manager. """ if image_file: icon = ima.get_icon(name) else: icon = ima.icon(name) return icon
def create_program_action(parent, text, name, icon=None, nt_name=None): """Create action to run a program""" if is_text_string(icon): icon = get_icon(icon) if os.name == 'nt' and nt_name is not None: name = nt_name path = programs.find_program(name) if path is not None: return create_action(parent, text, icon=icon, triggered=lambda: programs.run_program(name))
def __init__(self, parent, statusbar, plugin): self.plugin = plugin self.tooltip = self.BASE_TOOLTIP super(KiteStatusWidget, self).__init__(parent, statusbar, icon=ima.get_icon('kite', adjust_for_interface=True)) is_installed, _ = check_if_kite_installed() self.setVisible(is_installed)
def setup_menus(self): is_kite_installed, kite_path = check_if_kite_installed() if not is_kite_installed: install_kite_action = self.create_action( KiteProviderActions.Installation, _("Install Kite completion engine"), icon=ima.get_icon('kite', adjust_for_interface=True), triggered=self.show_kite_installation) self.add_item_to_application_menu(install_kite_action, menu_id=ApplicationMenus.Tools, section=ToolsMenuSections.Tools)
def icon(self, icontype_or_qfileinfo): """Reimplement Qt method""" if isinstance(icontype_or_qfileinfo, QFileIconProvider.IconType): return super(IconProvider, self).icon(icontype_or_qfileinfo) else: qfileinfo = icontype_or_qfileinfo fname = osp.normpath(str(qfileinfo.absoluteFilePath())) if osp.isfile(fname) or osp.isdir(fname): icon = ima.get_icon_by_extension_or_type(fname, scale_factor=1.0) else: icon = ima.get_icon('binary', adjust_for_interface=True) return icon
def create_action(parent, text, shortcut=None, icon=None, tip=None, toggled=None, triggered=None, data=None, menurole=None, context=Qt.WindowShortcut): """Create a QAction""" action = SpyderAction(text, parent) if triggered is not None: action.triggered.connect(triggered) if toggled is not None: action.toggled.connect(toggled) action.setCheckable(True) if icon is not None: if is_text_string(icon): icon = get_icon(icon) action.setIcon(icon) if tip is not None: action.setToolTip(tip) action.setStatusTip(tip) if data is not None: action.setData(to_qvariant(data)) if menurole is not None: action.setMenuRole(menurole) # Workround for Mac because setting context=Qt.WidgetShortcut # there doesn't have any effect if sys.platform == 'darwin': action._shown_shortcut = None if context == Qt.WidgetShortcut: if shortcut is not None: action._shown_shortcut = shortcut else: # This is going to be filled by # main.register_shortcut action._shown_shortcut = 'missing' else: if shortcut is not None: action.setShortcut(shortcut) action.setShortcutContext(context) else: if shortcut is not None: action.setShortcut(shortcut) action.setShortcutContext(context) return action
def get_filetype_icon(fname): """Return file type icon""" ext = osp.splitext(fname)[1] if ext.startswith('.'): ext = ext[1:] return get_icon("%s.png" % ext, ima.icon('FileIcon'))
def get_icon(self): return ima.get_icon('kite', adjust_for_interface=True)
def get_filetype_icon(fname): """Return file type icon""" ext = osp.splitext(fname)[1] if ext.startswith('.'): ext = ext[1:] return get_icon( "%s.png" % ext, ima.icon('FileIcon') )