def preferred_encodings(self):
        """
        The list of user defined encodings, for display in the encodings
        menu/combobox.

        """
        from pyqode.core.api import encodings
        return json.loads(self._settings.value(
            'userDefinedEncodings', '["%s"]' % encodings.convert_to_codec_key(
                locale.getpreferredencoding())))
예제 #2
0
    def preferred_encodings(self):
        """
        The list of user defined encodings, for display in the encodings
        menu/combobox.

        """
        from pyqode.core.api import encodings
        return json.loads(
            self._settings.value(
                'userDefinedEncodings', '["%s"]' %
                encodings.convert_to_codec_key(locale.getpreferredencoding())))
 def _load_preferred(self):
     self._load_available()  # setup preferred encodings
     self.ui.tableWidgetPreferred.setColumnCount(2)
     self.ui.tableWidgetPreferred.setSelectionMode(
         self.ui.tableWidgetPreferred.SingleSelection)
     self.ui.tableWidgetPreferred.setSelectionBehavior(
         self.ui.tableWidgetPreferred.SelectRows)
     self.ui.tableWidgetPreferred.setHorizontalHeaderLabels([
         'Encoding', 'Language'])
     self.ui.tableWidgetPreferred.verticalHeader().hide()
     self.ui.tableWidgetPreferred.setSortingEnabled(True)
     for i, encoding in enumerate(Cache().preferred_encodings):
         encoding = encodings.convert_to_codec_key(encoding)
         value = encodings.ENCODINGS_MAP[encoding]
         row = self.ui.tableWidgetPreferred.rowCount()
         self.ui.tableWidgetPreferred.insertRow(row)
         for column in range(2):
             item = QtWidgets.QTableWidgetItem(value[column].strip())
             item.setData(QtCore.Qt.UserRole, encoding)
             self.ui.tableWidgetPreferred.setItem(row, column, item)
     self.ui.tableWidgetPreferred.sortByColumn(0, QtCore.Qt.AscendingOrder)
예제 #4
0
 def _load_preferred(self):
     self._load_available()  # setup preferred encodings
     self.ui.tableWidgetPreferred.setColumnCount(2)
     self.ui.tableWidgetPreferred.setSelectionMode(
         self.ui.tableWidgetPreferred.SingleSelection)
     self.ui.tableWidgetPreferred.setSelectionBehavior(
         self.ui.tableWidgetPreferred.SelectRows)
     self.ui.tableWidgetPreferred.setHorizontalHeaderLabels(
         ['Encoding', 'Language'])
     self.ui.tableWidgetPreferred.verticalHeader().hide()
     self.ui.tableWidgetPreferred.setSortingEnabled(True)
     for i, encoding in enumerate(Cache().preferred_encodings):
         encoding = encodings.convert_to_codec_key(encoding)
         value = encodings.ENCODINGS_MAP[encoding]
         row = self.ui.tableWidgetPreferred.rowCount()
         self.ui.tableWidgetPreferred.insertRow(row)
         for column in range(2):
             item = QtWidgets.QTableWidgetItem(value[column].strip())
             item.setData(QtCore.Qt.UserRole, encoding)
             self.ui.tableWidgetPreferred.setItem(row, column, item)
     self.ui.tableWidgetPreferred.sortByColumn(0, QtCore.Qt.AscendingOrder)
 def _transfer_selected_items(self, source, destination):
     # keeping sorting enabled cause bug for the second transferred item
     destination.setSortingEnabled(False)
     row = source.currentRow()
     if row != -1:
         # take items from source
         items = []
         encoding = source.item(row, 0).data(QtCore.Qt.UserRole)
         is_locale = encoding == encodings.convert_to_codec_key(
             locale.getpreferredencoding())
         if source == self.ui.tableWidgetPreferred and is_locale:
             destination.setSortingEnabled(True)
             return
         for i in range(2):
             items.append(source.takeItem(row, i))
         source.removeRow(row)
         # insert a new row in the taken items into destination
         row = destination.rowCount()
         destination.insertRow(row)
         for col, item in enumerate(items):
             item = QtWidgets.QTableWidgetItem(item)
             destination.setItem(row, col, item)
     destination.setSortingEnabled(True)
예제 #6
0
 def _transfer_selected_items(self, source, destination):
     # keeping sorting enabled cause bug for the second transferred item
     destination.setSortingEnabled(False)
     row = source.currentRow()
     if row != -1:
         # take items from source
         items = []
         encoding = source.item(row, 0).data(QtCore.Qt.UserRole)
         is_locale = encoding == encodings.convert_to_codec_key(
             locale.getpreferredencoding())
         if source == self.ui.tableWidgetPreferred and is_locale:
             destination.setSortingEnabled(True)
             return
         for i in range(2):
             items.append(source.takeItem(row, i))
         source.removeRow(row)
         # insert a new row in the taken items into destination
         row = destination.rowCount()
         destination.insertRow(row)
         for col, item in enumerate(items):
             item = QtWidgets.QTableWidgetItem(item)
             destination.setItem(row, col, item)
     destination.setSortingEnabled(True)
예제 #7
0
 def preferred_encodings(self, value):
     from pyqode.core.api import encodings
     lst = [encodings.convert_to_codec_key(v) for v in value]
     self._settings.setValue('userDefinedEncodings',
                             json.dumps(list(set(lst))))
 def preferred_encodings(self, value):
     from pyqode.core.api import encodings
     lst = [encodings.convert_to_codec_key(v) for v in value]
     self._settings.setValue('userDefinedEncodings',
                             json.dumps(list(set(lst))))
예제 #9
0
def test_convert_to_code_key():
    assert encodings.convert_to_codec_key('UTF-8') == 'utf_8'