summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2012-07-03 21:42:34 +0100
committerPatrick Totzke <patricktotzke@gmail.com>2012-07-03 21:42:34 +0100
commit1628e8809f215955e5783228ff2aa0a35f48aa9a (patch)
treedd4535224a3f6371bdfe83138ca96295e5552ceb
parente7adb2af1138e858b42ffd50b5caa5ee9fe597fe (diff)
add AttrFlipWidget
An AttrMap that can remember attributes to set
-rw-r--r--alot/settings/__init__.py4
-rw-r--r--alot/widgets.py12
2 files changed, 16 insertions, 0 deletions
diff --git a/alot/settings/__init__.py b/alot/settings/__init__.py
index eaa8cd16..8eece89e 100644
--- a/alot/settings/__init__.py
+++ b/alot/settings/__init__.py
@@ -21,6 +21,8 @@ from utils import read_config
from checks import force_list
from checks import mail_container
from checks import gpg_key
+from checks import attr_triple
+from checks import align_mode
from theme import Theme
@@ -62,6 +64,8 @@ class SettingsManager(object):
newconfig = read_config(path, spec,
checks={'mail_container': mail_container,
'force_list': force_list,
+ 'align': align_mode,
+ 'attrtriple': attr_triple,
'gpg_key_hint': gpg_key})
self._config.merge(newconfig)
diff --git a/alot/widgets.py b/alot/widgets.py
index e084d0bf..e98fbf7b 100644
--- a/alot/widgets.py
+++ b/alot/widgets.py
@@ -14,6 +14,18 @@ import time
from alot.db.utils import decode_header
+class AttrFlipWidget(urwid.AttrMap):
+ """
+ An AttrMap that can remember attributes to set
+ """
+ def __init__(self, w, maps, init_map='normal'):
+ self.maps = maps
+ urwid.AttrMap.__init__(self, w, maps[init_map])
+
+ def set_map(self, attrstring):
+ self.set_attr_map({None: self.maps[attrstring]})
+
+
class DialogBox(urwid.WidgetWrap):
def __init__(self, body, title, bodyattr=None, titleattr=None):
self.body = urwid.LineBox(body)