def __init__(self):
self._widget = QtGui.QLineEdit("")
- self._widget.setInputMethodHints(QtCore.Qt.ImhPreferNumbers)
- self._actualEntryDisplay = ""
+ maeqt.mark_numbers_preferred(self._widget)
@property
def toplevel(self):
return self._widget
+ @property
+ def entry(self):
+ return self._widget
+
def get_value(self):
- value = self._actualEntryDisplay.strip()
+ value = str(self._widget.text()).strip()
if any(
0 < value.find(whitespace)
for whitespace in string.whitespace
for whitespace in string.whitespace
):
raise ValueError('Invalid input "%s"' % value)
- self._actualEntryDisplay = value
self._widget.setText(value)
def append(self, value):
self._errorDisplay = QErrorDisplay()
self._historyView = qhistory.QCalcHistory(self._errorDisplay)
self._userEntry = QValueEntry()
+ self._userEntry.entry.returnPressed.connect(self._on_push)
self._controlLayout = QtGui.QVBoxLayout()
self._controlLayout.addLayout(self._errorDisplay.toplevel)
self._controlLayout.addWidget(self._historyView.toplevel)
self._controlLayout.addWidget(self._userEntry.toplevel)
- self._pluginKeyboardSpot = QtGui.QVBoxLayout()
self._inputLayout = QtGui.QVBoxLayout()
- self._inputLayout.addLayout(self._pluginKeyboardSpot)
self._layout = QtGui.QHBoxLayout()
self._layout.addLayout(self._controlLayout)
self._keyboardPlugins.enable_plugin(builtinKeyboardId)
self._builtinPlugin = self._keyboardPlugins.keyboards["Builtin"].construct_keyboard()
self._builtinKeyboard = self._builtinPlugin.setup(self._history, self._handler)
- self._inputLayout.addLayout(self._builtinKeyboard.toplevel)
# Plugins
self.enable_plugin(self._keyboardPlugins.lookup_plugin("Trigonometry"))
self.enable_plugin(self._keyboardPlugins.lookup_plugin("Computer"))
self.enable_plugin(self._keyboardPlugins.lookup_plugin("Alphabet"))
+ self._inputLayout.addLayout(self._builtinKeyboard.toplevel)
+ for keyboardData in self._activeKeyboards:
+ keyboardData["pluginKeyboard"].hide()
self._set_plugin_kb(0)
self.set_fullscreen(self._app.fullscreenAction.isChecked())
"plugin": plugin,
"pluginKeyboard": pluginKeyboard,
})
+ self._inputLayout.addLayout(pluginKeyboard.toplevel)
def _set_plugin_kb(self, pluginIndex):
plugin = self._activeKeyboards[pluginIndex]
- # @todo self._pluginButton.set_label(plugin["pluginName"])
- for i in xrange(self._pluginKeyboardSpot.count()):
- self._pluginKeyboardSpot.removeItem(self._pluginKeyboardSpot.itemAt(i))
+ for keyboardData in self._activeKeyboards:
+ if plugin["pluginName"] != keyboardData["pluginName"]:
+ keyboardData["pluginKeyboard"].hide()
+
+ # @todo self._pluginButton.set_label(plugin["pluginName"])
pluginKeyboard = plugin["pluginKeyboard"]
- self._pluginKeyboardSpot.addItem(pluginKeyboard.toplevel)
+ pluginKeyboard.show()
def _load_history(self):
serialized = []