mirror of
https://github.com/gryf/wicd.git
synced 2025-12-23 22:52:33 +01:00
Various fixes.
curses/curses_misc.py:
Simplified changing the "arrow" on the ComboBox, if I decide to do so.
curses/prefs_curses.py: Added a docstring
curses/wicd-curses.py:
'q' or 'Q' quits a dialog without saving now.
Fixed a bug where a scan run while a dialog is up would lock the screen and
half-close the dialog when it is done.
This commit is contained in:
@@ -316,6 +316,7 @@ class ComboBox(urwid.WidgetWrap):
|
||||
user_args : user_args in the callback
|
||||
"""
|
||||
|
||||
self.DOWN_ARROW = ' vvv'
|
||||
self.label = urwid.Text(label)
|
||||
self.attrs = attrs
|
||||
self.focus_attr = focus_attr
|
||||
@@ -325,7 +326,7 @@ class ComboBox(urwid.WidgetWrap):
|
||||
|
||||
self.overlay = None
|
||||
#w,sensitive=True,attrs=('editbx','editnfc'),focus_attr='editfc')
|
||||
self.cbox = DynWrap(SelText(' vvv'),attrs=attrs,focus_attr=focus_attr)
|
||||
self.cbox = DynWrap(SelText(self.DOWN_ARROW),attrs=attrs,focus_attr=focus_attr)
|
||||
# Unicode will kill me sooner or later. ^_^
|
||||
if label != '':
|
||||
w = urwid.Columns([('fixed',len(str),self.label),self.cbox],dividechars=1)
|
||||
@@ -351,7 +352,7 @@ class ComboBox(urwid.WidgetWrap):
|
||||
|
||||
def set_focus(self,index):
|
||||
self.focus = index
|
||||
self.cbox.set_w(SelText(self.list[index]+' vvv'))
|
||||
self.cbox.set_w(SelText(self.list[index]+self.DOWN_ARROW))
|
||||
if self.overlay:
|
||||
self.overlay._listbox.set_focus(index)
|
||||
|
||||
@@ -360,7 +361,7 @@ class ComboBox(urwid.WidgetWrap):
|
||||
def build_combobox(self,parent,ui,row):
|
||||
str,trash = self.label.get_text()
|
||||
|
||||
self.cbox = DynWrap(SelText([self.list[self.focus]+' vvv']),
|
||||
self.cbox = DynWrap(SelText([self.list[self.focus]+self.DOWN_ARROW]),
|
||||
attrs=self.attrs,focus_attr=self.focus_attr)
|
||||
if str != '':
|
||||
w = urwid.Columns([('fixed',len(str),self.label),self.cbox],
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
"""prefs_curses.py -- Pretty, tabbable, console preferences dialog"""
|
||||
|
||||
# Copyright (C) 2008-2009 Andrew Psaltis
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -581,6 +581,7 @@ class appGUI():
|
||||
self.prev_state = False
|
||||
self.connecting = False
|
||||
self.screen_locked = False
|
||||
self.do_diag_lock = False
|
||||
|
||||
self.pref = None
|
||||
|
||||
@@ -602,11 +603,17 @@ class appGUI():
|
||||
|
||||
# Does what it says it does
|
||||
def lock_screen(self):
|
||||
if self.diag:
|
||||
self.do_diag_lock = True
|
||||
return True
|
||||
self.frame.set_body(self.screen_locker)
|
||||
self.screen_locked = True
|
||||
self.update_ui()
|
||||
|
||||
def unlock_screen(self):
|
||||
if self.do_diag_lock:
|
||||
self.do_diag_lock = False
|
||||
return True
|
||||
self.update_netlist(force_check=True)
|
||||
self.frame.set_body(self.thePile)
|
||||
self.screen_locked = False
|
||||
@@ -810,6 +817,10 @@ class appGUI():
|
||||
self.lock_screen()
|
||||
|
||||
def restore_primary(self):
|
||||
if self.do_diag_lock:
|
||||
self.frame.set_body(self.screen_locker)
|
||||
self.do_diag_lock = False
|
||||
else:
|
||||
self.frame.set_body(self.thePile)
|
||||
self.diag = None
|
||||
self.frame.set_footer(urwid.Pile([self.primaryCols,self.footer2]))
|
||||
@@ -916,7 +927,7 @@ class appGUI():
|
||||
focus=True)
|
||||
continue
|
||||
if self.diag:
|
||||
if k == 'esc':
|
||||
if k == 'esc' or k == 'q' or k == 'Q':
|
||||
self.restore_primary()
|
||||
break
|
||||
if k == 'meta enter':
|
||||
|
||||
Reference in New Issue
Block a user