コード例 #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_WriteInputSources(self, convertArrayToVariantMethod):
     # Setup
     convertArrayToVariantMethod.side_effect = lambda value: value
     sut = GnomeKeyboardsUtil()
     keyboards = [('xkb', 'en'), ('ibus', 'fooDir/foo1.kmx'),
                  ('ibus', 'fooDir/foo2.kmx')]
     # Execute
     sut.write_input_sources(keyboards)
     # Verify
     self.MockSettingsClass.return_value.set_value.assert_called_once_with(
         "sources", 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)