Reset form, if no password file is selected on treeview
This commit is contained in:
19
gtkpass.py
19
gtkpass.py
@@ -132,8 +132,17 @@ class GTKPass(Gtk.Window):
|
|||||||
pane.pack2(child=self.grid, resize=True, shrink=False)
|
pane.pack2(child=self.grid, resize=True, shrink=False)
|
||||||
|
|
||||||
self.show_all()
|
self.show_all()
|
||||||
|
self._set_visible(self.grid, False)
|
||||||
self.refresh()
|
self.refresh()
|
||||||
|
|
||||||
|
def _set_visible(self, obj, set_visible=True):
|
||||||
|
for child in obj.get_children():
|
||||||
|
if hasattr(child, 'get_children'):
|
||||||
|
self._set_visible(child, set_visible)
|
||||||
|
else:
|
||||||
|
child.show() if set_visible else child.hide()
|
||||||
|
self.textview.show() if set_visible else self.textview.hide()
|
||||||
|
|
||||||
def create_toolbar(self):
|
def create_toolbar(self):
|
||||||
toolbar = Gtk.Toolbar()
|
toolbar = Gtk.Toolbar()
|
||||||
|
|
||||||
@@ -228,13 +237,21 @@ class GTKPass(Gtk.Window):
|
|||||||
def on_selected(self, selection):
|
def on_selected(self, selection):
|
||||||
model, treeiter = selection.get_selected()
|
model, treeiter = selection.get_selected()
|
||||||
|
|
||||||
|
self.label.set_label('')
|
||||||
|
self.password.set_text('')
|
||||||
|
self.user.set_text('')
|
||||||
|
self.url.set_text('')
|
||||||
|
self.textview.get_buffer().set_text('')
|
||||||
|
|
||||||
if not (treeiter and model[treeiter] and model[treeiter][5]):
|
if not (treeiter and model[treeiter] and model[treeiter][5]):
|
||||||
|
self._set_visible(self.grid, False)
|
||||||
return
|
return
|
||||||
|
|
||||||
success, data = self.passs.get_pass(model[treeiter][4])
|
success, data = self.passs.get_pass(model[treeiter][4])
|
||||||
if not success:
|
if not success:
|
||||||
self.label.set_label(f'<span foreground="red" size="x-large">'
|
self.label.set_label(f'<span foreground="red" size="x-large">'
|
||||||
f'There is an error:\n{data}</span>')
|
f'There is an error:\n{data}</span>')
|
||||||
|
self.label.set_visible(True)
|
||||||
return
|
return
|
||||||
|
|
||||||
self.label.set_label(f'<span size="x-large">{model[treeiter][4]}'
|
self.label.set_label(f'<span size="x-large">{model[treeiter][4]}'
|
||||||
@@ -256,6 +273,8 @@ class GTKPass(Gtk.Window):
|
|||||||
self.textview.get_buffer().set_text("\n".join(output[count:])
|
self.textview.get_buffer().set_text("\n".join(output[count:])
|
||||||
[6:].strip())
|
[6:].strip())
|
||||||
break
|
break
|
||||||
|
self._set_visible(self.grid, True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Leaf:
|
class Leaf:
|
||||||
|
|||||||
Reference in New Issue
Block a user