def __init__(self, *args): QtGui.QWidget.__init__(self,None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) # get layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 # get language list self.languageList = self.getLanguageList() # generate language list for language in self.languageList: languageCode, languageName, languageLayout, languageVariant = language item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(languageName) item.setToolTip(languageLayout) item.setStatusTip(languageVariant) self.ui.listWidgetKeyboard.addItem(item) # select appropriate keymap if self.getCurrentSystemLanguage().strip() == languageCode.strip(): if languageCode.strip()=="tr" and languageVariant.strip() == "f": break else: self.ui.listWidgetKeyboard.setCurrentItem(item) self.ui.listWidgetKeyboard.sortItems() self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard)
def __init__(self, *args): QtGui.QWidget.__init__(self, None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) # get layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 # get language list self.languageList = self.getLanguageList() # generate language list for language in self.languageList: languageCode, languageName, languageLayout, languageVariant = language item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(languageName) item.setToolTip(languageLayout) item.setStatusTip(languageVariant) self.ui.listWidgetKeyboard.addItem(item) # select appropriate keymap if self.getCurrentSystemLanguage().strip() == languageCode.strip(): if languageCode.strip() == "tr" and languageVariant.strip( ) == "f": break else: self.ui.listWidgetKeyboard.setCurrentItem(item) self.ui.listWidgetKeyboard.sortItems() self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard)
def __init__(self, *args): QtGui.QWidget.__init__(self, None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) self.ui.picKeyboard.setPixmap( QtGui.QPixmap(':/raw/pics/keyboards.png')) # get Layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 for lang in localedata.languages: for each in localedata.languages[lang].keymaps: item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(each.name) item.setToolTip(each.xkb_layout) item.setStatusTip(each.xkb_variant) self.ui.listWidgetKeyboard.addItem(item) self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard)
def __init__(self, *args): QtGui.QWidget.__init__(self,None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) self.ui.picKeyboard.setPixmap(QtGui.QPixmap(':/raw/pics/keyboards.png')) # get Layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 for lang in localedata.languages: for each in localedata.languages[lang].keymaps: item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(each.name) item.setToolTip(each.xkb_layout) item.setStatusTip(each.xkb_variant) self.ui.listWidgetKeyboard.addItem(item) self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard)
class Widget(QtGui.QWidget, ScreenWidget): screenSettings = {} screenSettings["hasChanged"] = False # title and description at the top of the dialog window title = ki18n("Insert some catchy title about keyboards..") desc = ki18n("Select your keyboard layout") def __init__(self, *args): QtGui.QWidget.__init__(self,None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) self.ui.picKeyboard.setPixmap(QtGui.QPixmap(':/raw/pics/keyboards.png')) # get Layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 for lang in localedata.languages: for each in localedata.languages[lang].keymaps: item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(each.name) item.setToolTip(each.xkb_layout) item.setStatusTip(each.xkb_variant) self.ui.listWidgetKeyboard.addItem(item) self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard) def setKeyboard(self): layout = self.ui.listWidgetKeyboard.currentItem().toolTip() variant = self.ui.listWidgetKeyboard.currentItem().statusTip() subprocess.Popen(["setxkbmap", layout, variant]) if variant: self.lastLayout = layout + "(" + variant + ")" else: self.lastLayout = layout def shown(self): pass def execute(self): if self.lastLayout: layoutArr = self.layoutList.split(",") if self.lastLayout not in layoutArr: layoutArr.insert(0, str(self.lastLayout)) else: layoutArr.remove(self.lastLayout) layoutArr.insert(0, str(self.lastLayout)) for i in layoutArr: if i == "": layoutArr.remove(i) layoutList = ",".join(layoutArr) self.group.writeEntry("LayoutList", layoutList) self.group.writeEntry("DisplayNames", layoutList) self.config.sync() return True
class Widget(QtGui.QWidget, ScreenWidget): screenSettings = {} screenSettings["hasChanged"] = False # title and description at the top of the dialog window title = ki18n("Keyboard") desc = ki18n("Keyboard Layout Language") def __init__(self, *args): QtGui.QWidget.__init__(self, None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) # get layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 # get language list self.languageList = self.getLanguageList() # generate language list for language in self.languageList: languageCode, languageName, languageLayout, languageVariant = language item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(languageName) item.setToolTip(languageLayout) item.setStatusTip(languageVariant) self.ui.listWidgetKeyboard.addItem(item) # select appropriate keymap if self.getCurrentSystemLanguage().strip() == languageCode.strip(): if languageCode.strip() == "tr" and languageVariant.strip( ) == "f": break else: self.ui.listWidgetKeyboard.setCurrentItem(item) self.ui.listWidgetKeyboard.sortItems() self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard) def getCurrentSystemLanguage(self): lang = "en" try: langFile = open('/etc/mudur/language', 'r') lang = langFile.readline().rstrip('\n').strip() except IOError: print "Cannot read /etc/mudur/language file" return lang def getLanguageList(self): languageList = [] for language in localedata.languages.items(): lcode, lprops = language lkeymaps = lprops.keymaps for lmap in lkeymaps: lname = lmap.name llayout = lmap.xkb_layout lvariant = lmap.xkb_variant languageList.append([lcode, lname, llayout, lvariant]) return languageList def setKeyboard(self): layout = self.ui.listWidgetKeyboard.currentItem().toolTip() variant = self.ui.listWidgetKeyboard.currentItem().statusTip() subprocess.Popen(["setxkbmap", layout, variant]) if variant: self.lastLayout = layout + "(" + variant + ")" else: self.lastLayout = layout def shown(self): pass def execute(self): if self.lastLayout: layoutArr = self.layoutList.split(",") if self.lastLayout not in layoutArr: layoutArr.insert(0, str(self.lastLayout)) else: layoutArr.remove(self.lastLayout) layoutArr.insert(0, str(self.lastLayout)) for i in layoutArr: if i == "": layoutArr.remove(i) layoutList = ",".join(layoutArr) self.group.writeEntry("LayoutList", layoutList) self.group.writeEntry("DisplayNames", layoutList) self.config.sync() return True
class Widget(QtGui.QWidget, ScreenWidget): screenSettings = {} screenSettings["hasChanged"] = False # title and description at the top of the dialog window title = ki18n("Keyboard") desc = ki18n("Keyboard Layout Language") def __init__(self, *args): QtGui.QWidget.__init__(self,None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) # get layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 # get language list self.languageList = self.getLanguageList() # generate language list for language in self.languageList: languageCode, languageName, languageLayout, languageVariant = language item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(languageName) item.setToolTip(languageLayout) item.setStatusTip(languageVariant) self.ui.listWidgetKeyboard.addItem(item) # select appropriate keymap if self.getCurrentSystemLanguage().strip() == languageCode.strip(): if languageCode.strip()=="tr" and languageVariant.strip() == "f": break else: self.ui.listWidgetKeyboard.setCurrentItem(item) self.ui.listWidgetKeyboard.sortItems() self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard) def getCurrentSystemLanguage(self): lang = "en" try: langFile = open('/etc/mudur/language', 'r') lang = langFile.readline().rstrip('\n').strip() except IOError: print "Cannot read /etc/mudur/language file" return lang def getLanguageList(self): languageList = [] for language in localedata.languages.items(): lcode, lprops = language lkeymaps = lprops.keymaps for lmap in lkeymaps: lname = lmap.name llayout = lmap.xkb_layout lvariant = lmap.xkb_variant languageList.append([lcode, lname, llayout, lvariant]) return languageList def setKeyboard(self): layout = self.ui.listWidgetKeyboard.currentItem().toolTip() variant = self.ui.listWidgetKeyboard.currentItem().statusTip() subprocess.Popen(["setxkbmap", layout, variant]) if variant: self.lastLayout = layout + "(" + variant + ")" else: self.lastLayout = layout def shown(self): pass def execute(self): if self.lastLayout: layoutArr = self.layoutList.split(",") if self.lastLayout not in layoutArr: layoutArr.insert(0, str(self.lastLayout)) else: layoutArr.remove(self.lastLayout) layoutArr.insert(0, str(self.lastLayout)) for i in layoutArr: if i == "": layoutArr.remove(i) layoutList = ",".join(layoutArr) self.group.writeEntry("LayoutList", layoutList) self.group.writeEntry("DisplayNames", layoutList) self.config.sync() return True
class Widget(QtGui.QWidget, ScreenWidget): screenSettings = {} screenSettings["hasChanged"] = False # title and description at the top of the dialog window title = ki18n("Insert some catchy title about keyboards..") desc = ki18n("Select your keyboard layout") def __init__(self, *args): QtGui.QWidget.__init__(self, None) self.ui = Ui_keyboardWidget() self.ui.setupUi(self) self.ui.picKeyboard.setPixmap( QtGui.QPixmap(':/raw/pics/keyboards.png')) # get Layout config self.config = KConfig("kxkbrc") self.group = self.config.group("Layout") self.layoutList = str(self.group.readEntry("LayoutList")) self.lastLayout = 0 for lang in localedata.languages: for each in localedata.languages[lang].keymaps: item = QtGui.QListWidgetItem(self.ui.listWidgetKeyboard) item.setText(each.name) item.setToolTip(each.xkb_layout) item.setStatusTip(each.xkb_variant) self.ui.listWidgetKeyboard.addItem(item) self.ui.listWidgetKeyboard.connect(self.ui.listWidgetKeyboard, SIGNAL("itemSelectionChanged()"), self.setKeyboard) def setKeyboard(self): layout = self.ui.listWidgetKeyboard.currentItem().toolTip() variant = self.ui.listWidgetKeyboard.currentItem().statusTip() subprocess.Popen(["setxkbmap", layout, variant]) if variant: self.lastLayout = layout + "(" + variant + ")" else: self.lastLayout = layout def shown(self): pass def execute(self): if self.lastLayout: layoutArr = self.layoutList.split(",") if self.lastLayout not in layoutArr: layoutArr.insert(0, str(self.lastLayout)) else: layoutArr.remove(self.lastLayout) layoutArr.insert(0, str(self.lastLayout)) for i in layoutArr: if i == "": layoutArr.remove(i) layoutList = ",".join(layoutArr) self.group.writeEntry("LayoutList", layoutList) self.group.writeEntry("DisplayNames", layoutList) self.config.sync() return True