Always resort, redraw, ... whatever when we change settings.
[apps/madmutt.git] / init.c
diff --git a/init.c b/init.c
index 04f45e8..7106e97 100644 (file)
--- a/init.c
+++ b/init.c
@@ -941,18 +941,12 @@ static void mutt_restore_default (const char* name __attribute__ ((unused)),
     p_delete(&init);
   }
 
-  if (ptr->flags & R_INDEX)
-    set_option (OPTFORCEREDRAWINDEX);
-  if (ptr->flags & R_PAGER)
-    set_option (OPTFORCEREDRAWPAGER);
-  if (ptr->flags & R_RESORT_SUB)
-    set_option (OPTSORTSUBTHREADS);
-  if (ptr->flags & R_RESORT)
-    set_option (OPTNEEDRESORT);
-  if (ptr->flags & R_RESORT_INIT)
-    set_option (OPTRESORTINIT);
-  if (ptr->flags & R_TREE)
-    set_option (OPTREDRAWTREE);
+  set_option (OPTFORCEREDRAWINDEX);
+  set_option (OPTFORCEREDRAWPAGER);
+  set_option (OPTSORTSUBTHREADS);
+  set_option (OPTNEEDRESORT);
+  set_option (OPTRESORTINIT);
+  set_option (OPTREDRAWTREE);
 }
 
 static int check_num (const char* option, unsigned long p,
@@ -1009,15 +1003,6 @@ static const struct mapping_t* get_sortmap (struct option_t* option) {
   return (map);
 }
 
-#define CHECK_PAGER \
-  if ((CurrentMenu == MENU_PAGER) && \
-      (!option || (option->flags & R_RESORT))) \
-  { \
-    snprintf (err->data, err->dsize, \
-              _("Not available in this menu.")); \
-    return (-1); \
-  }
-
 static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
                       BUFFER * err)
 {
@@ -1082,7 +1067,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
         set_option (OPTREDRAWTREE);
         return (0);
       } else {
-        CHECK_PAGER;
         mutt_restore_default (NULL, option, 1);
       }
     }
@@ -1112,7 +1096,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
         return 0;
       }
 
-      CHECK_PAGER;
       if (unset)
         unset_option (option->data);
       else if (inv)
@@ -1130,7 +1113,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
       /* XXX maybe we need to get unset into handlers? */
       if (DTYPE (option->type) == DT_STR || DTYPE (option->type) == DT_PATH) {
         if (unset) {
-          CHECK_PAGER;
           p_delete((void **)(void *)&option->data);
           break;
         }
@@ -1142,7 +1124,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
         break;
       }
 
-      CHECK_PAGER;
       s->dptr++;
       mutt_extract_token (tmp, s, 0);
       if (!FuncTable[DTYPE (option->type)].opt_fromstr
@@ -1157,7 +1138,6 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
       }
 
       if (*s->dptr == '=') {
-        CHECK_PAGER;
         s->dptr++;
         mutt_extract_token (tmp, s, 0);
         if (ascii_strcasecmp ("yes", tmp->data) == 0)
@@ -1191,18 +1171,12 @@ static int parse_set (BUFFER * tmp, BUFFER * s, unsigned long data,
       break;
     }
 
-    if (option->flags & R_INDEX)
-      set_option (OPTFORCEREDRAWINDEX);
-    if (option->flags & R_PAGER)
-      set_option (OPTFORCEREDRAWPAGER);
-    if (option->flags & R_RESORT_SUB)
-      set_option (OPTSORTSUBTHREADS);
-    if (option->flags & R_RESORT)
-      set_option (OPTNEEDRESORT);
-    if (option->flags & R_RESORT_INIT)
-      set_option (OPTRESORTINIT);
-    if (option->flags & R_TREE)
-      set_option (OPTREDRAWTREE);
+    set_option (OPTFORCEREDRAWINDEX);
+    set_option (OPTFORCEREDRAWPAGER);
+    set_option (OPTSORTSUBTHREADS);
+    set_option (OPTNEEDRESORT);
+    set_option (OPTRESORTINIT);
+    set_option (OPTREDRAWTREE);
   }
   return (r);
 }