Minor PlaceholderEntry consistency and performance improvements

This commit is contained in:
DevilXD committed 2022-02-27 12:22:47 +01:00
1 parent 92d722fd0c
commit 08c6c20379
1 file changed
+8 -9
+8 -9
View File
@@ -78,8 +78,8 @@ class PlaceholderEntry(ttk.Entry):
""" """
if self._ph: if self._ph:
self._ph = False self._ph = False
self.config(foreground=self._text_color, show=self._show)
self.delete(0, "end") self.delete(0, "end")
self.config(foreground=self._text_color, show=self._show)
def _focus_out(self, event): def _focus_out(self, event):
""" """
@@ -92,20 +92,19 @@ class PlaceholderEntry(ttk.Entry):
self.config(foreground=self._ph_color, show='') self.config(foreground=self._ph_color, show='')
self.insert(0, self._ph_text) self.insert(0, self._ph_text)
def _store_option(self, options: dict[str, Any], attr: str, name: str): def _store_option(self, options: dict[str, Any], name: str, attr: str):
value = options.get(name) if name in options:
if value is not None: setattr(self, attr, options[name])
setattr(self, attr, value)
def configure(self, *args, **kwargs): def configure(self, *args, **kwargs):
if args: if args:
options = args[0] options = args[0]
if kwargs: if kwargs:
options = kwargs options = kwargs
self._store_option(options, "_show", "show") self._store_option(options, "show", "_show")
self._store_option(options, "_ph_text", "placeholder") self._store_option(options, "placeholder", "_ph_text")
self._store_option(options, "_text_color", "foreground") self._store_option(options, "foreground", "_text_color")
self._store_option(options, "_ph_color", "placeholdercolor") self._store_option(options, "placeholdercolor", "_ph_color")
super().configure(*args, *kwargs) super().configure(*args, *kwargs)
def get(self): def get(self):