コード例 #1
0
ファイル: install_kmp.py プロジェクト: visionarylab/keyman
def install_keyboards_to_gnome(keyboards, packageDir, language=None):
    gnomeKeyboardsUtil = GnomeKeyboardsUtil()
    sources = gnomeKeyboardsUtil.read_input_sources()

    # install all kmx for first lang not just packageID
    for kb in keyboards:
        ibus_keyboard_id = get_ibus_keyboard_id(kb, packageDir, language)
        sources.append(('ibus', ibus_keyboard_id))

    gnomeKeyboardsUtil.write_input_sources(sources)
コード例 #2
0
 def test_ReadInputSources(self, convertVariantToArrayMethod):
     # Setup
     keyboards = [('xkb', 'en')]
     mock_settingsInstance = self.MockSettingsClass.return_value
     mock_settingsInstance.get_value.return_value = keyboards
     convertVariantToArrayMethod.side_effect = lambda value: value
     sut = GnomeKeyboardsUtil()
     # Execute
     result = sut.read_input_sources()
     # Verify
     self.assertEqual(result, keyboards)
コード例 #3
0
ファイル: uninstall_kmp.py プロジェクト: zpcol/keyman
def uninstall_keyboards_from_gnome(keyboards, packageDir):
    gnomeKeyboardsUtil = GnomeKeyboardsUtil()
    sources = gnomeKeyboardsUtil.read_input_sources()

    # uninstall all kmx for all languages
    for kb in keyboards:
        ibus_keyboard_id = get_ibus_keyboard_id(kb, packageDir)
        tuple = ('ibus', ibus_keyboard_id)
        if tuple in sources:
            sources.remove(tuple)

        toRemove = []
        match_id = ":%s" % get_ibus_keyboard_id(
            kb, packageDir, ignore_language=True)
        for (type, id) in sources:
            if type == 'ibus' and id.endswith(match_id):
                toRemove.append((type, id))

        for val in toRemove:
            sources.remove(val)

    gnomeKeyboardsUtil.write_input_sources(sources)