def _refresh_items(self): self._lock = True self.clear() for i, encoding in enumerate(sorted(Cache().preferred_encodings)): encoding = convert_to_codec_key(encoding) try: alias, lang = ENCODINGS_MAP[encoding] except KeyError: _logger().warning('KeyError with encoding: %s', encoding) else: self.addItem('%s (%s)' % (alias, lang)) self.setItemData(i, encoding, QtCore.Qt.UserRole) if encoding == self._current_encoding or \ convert_to_codec_key(alias) == self._current_encoding: self.setCurrentIndex(i) self.insertSeparator(self.count()) self.addItem('Add or remove') self._lock = False
def test_preferred_encodings(): cache = Cache(suffix='-pytest') cache.clear() encodings = cache.preferred_encodings assert len(encodings) == 1 assert encodings[0] == convert_to_codec_key(locale.getpreferredencoding()) encodings.append('utf_16') cache.preferred_encodings = encodings cache2 = Cache(suffix='-pytest') assert 'utf_16' in cache2.preferred_encodings
def test_preferred_encodings(): cache = Cache(suffix='-pytest') cache.clear() encodings = cache.preferred_encodings assert len(encodings) == 1 assert encodings[0] == convert_to_codec_key( locale.getpreferredencoding()) encodings.append('utf_16') cache.preferred_encodings = encodings cache2 = Cache(suffix='-pytest') assert 'utf_16' in cache2.preferred_encodings
def _refresh(self): self._clear_actions() for i, encoding in enumerate(sorted(Cache().preferred_encodings)): encoding = convert_to_codec_key(encoding) try: alias, lang = ENCODINGS_MAP[encoding] except KeyError: _logger().debug('KeyError with encoding:', encoding) else: action = QtWidgets.QAction('%s (%s)' % (alias, lang), self) action.setData(encoding) action.setCheckable(True) if encoding == self._current_encoding or \ convert_to_codec_key(alias) == self._current_encoding: action.setChecked(True) self.addAction(action) self._group.addAction(action) self._group.triggered.connect(self._on_encoding_triggered) self.addSeparator() self._edit_action = QtWidgets.QAction('Add or remove', self) self._edit_action.triggered.connect(self._on_edit_requested) self.addAction(self._edit_action)
def current_encoding(self, value): self._current_encoding = convert_to_codec_key(value) self._refresh()
def _refresh(self): self._current_encoding = convert_to_codec_key( self.parent().file.encoding) super(EncodingsContextMenu, self)._refresh()