Always resort, redraw, ... whatever when we change settings.
[apps/madmutt.git] / browser.c
index d945b89..f001c3d 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -13,7 +13,7 @@
 #include <pwd.h>
 #include <grp.h>
 
-#include <lib-ui/curses.h>
+#include <lib-ui/lib-ui.h>
 #include <lib-ui/enter.h>
 #include <lib-ui/menu.h>
 #include <lib-ui/sidebar.h>
 #include "nntp.h"
 #endif
 
-static struct mapping_t FolderHelp[] = {
-  {N_("Exit"), OP_EXIT},
-  {N_("Chdir"), OP_CHANGE_DIRECTORY},
-  {N_("Mask"), OP_ENTER_MASK},
-  {N_("Help"), OP_HELP},
-  {NULL, OP_NULL}
-};
-
-#ifdef USE_NNTP
-static struct mapping_t FolderNewsHelp[] = {
-  {N_("Exit"), OP_EXIT},
-  {N_("List"), OP_TOGGLE_MAILBOXES},
-  {N_("Subscribe"), OP_BROWSER_SUBSCRIBE},
-  {N_("Unsubscribe"), OP_BROWSER_UNSUBSCRIBE},
-  {N_("Catchup"), OP_CATCHUP},
-  {N_("Mask"), OP_ENTER_MASK},
-  {N_("Help"), OP_HELP},
-  {NULL, OP_NULL}
-};
-#endif
-
 typedef struct folder_t {
   struct folder_file *ff;
   int num;
@@ -370,11 +349,11 @@ newsgroup_format_str(char *dest, ssize_t destlen, char op,
       snprintf (dest, destlen, tmp, Context->new);
     }
     else if (option (OPTMARKOLD) &&
-             folder->ff->nd->lastCached >= folder->ff->nd->firstMessage &&
-             folder->ff->nd->lastCached <= folder->ff->nd->lastMessage) {
+             folder->ff->nd->lastCached >= folder->ff->nd->first &&
+             folder->ff->nd->lastCached <= folder->ff->nd->last) {
       snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
       snprintf (dest, destlen, tmp,
-                folder->ff->nd->lastMessage - folder->ff->nd->lastCached);
+                folder->ff->nd->last - folder->ff->nd->lastCached);
     }
     else {
       snprintf (tmp, sizeof (tmp), "%%%sd", fmt);
@@ -428,7 +407,7 @@ static void add_folder (MUTTMENU * m, struct browser_state *state,
   (state->entry)[state->entrylen].imap = 0;
 #ifdef USE_NNTP
   if (option (OPTNEWS))
-    (state->entry)[state->entrylen].nd = (nntp_data_t *) data;
+    (state->entry)[state->entrylen].nd = data;
 #endif
   (state->entrylen)++;
 }
@@ -450,7 +429,7 @@ static int examine_directory (MUTTMENU * menu, struct browser_state *state,
 #ifdef USE_NNTP
   if (option (OPTNEWS)) {
     nntp_data_t *data;
-    NNTP_SERVER *news = CurrentNewsSrv;
+    nntp_server_t *news = CurrentNewsSrv;
 
 /*  buffy_check (0); */
     init_state (state, menu);
@@ -542,7 +521,7 @@ static int examine_mailboxes (MUTTMENU * menu, struct browser_state *state)
 #ifdef USE_NNTP
   if (option (OPTNEWS)) {
     nntp_data_t *data;
-    NNTP_SERVER *news = CurrentNewsSrv;
+    nntp_server_t *news = CurrentNewsSrv;
 
 /*  buffy_check (0); */
     init_state (state, menu);
@@ -633,11 +612,11 @@ static void folder_entry (char *s, ssize_t slen, MUTTMENU * menu, int num)
 
 #ifdef USE_NNTP
   if (option (OPTNEWS))
-    m_strformat(s, slen, COLS - SW, GroupFormat, newsgroup_format_str,
+    m_strformat(s, slen, getmaxx(main_w), GroupFormat, newsgroup_format_str,
                 &folder, 0);
   else
 #endif
-    m_strformat(s, slen, COLS - SW, FolderFormat, folder_format_str,
+    m_strformat(s, slen, getmaxx(main_w), FolderFormat, folder_format_str,
                 &folder, 0);
 }
 
@@ -705,7 +684,6 @@ void mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
 {
   char buf[_POSIX_PATH_MAX];
   char prefix[_POSIX_PATH_MAX] = "";
-  char helpstr[STRING];
   char title[STRING];
   struct browser_state state;
   MUTTMENU *menu;
@@ -809,13 +787,6 @@ void mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
   menu->data = state.entry;
   if (multiple)
     menu->tag = file_tag;
-
-  menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_FOLDER,
-#ifdef USE_NNTP
-                                  (option (OPTNEWS)) ? FolderNewsHelp :
-#endif
-                                  FolderHelp);
-
   init_menu (&state, menu, title, sizeof (title), buffy);
 
   for (;;) {
@@ -1366,7 +1337,7 @@ void mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
         char *s = buf;
         int j = menu->current;
         nntp_data_t *nd;
-        NNTP_SERVER *news = CurrentNewsSrv;
+        nntp_server_t *news = CurrentNewsSrv;
 
         if (i == OP_SUBSCRIBE_PATTERN || i == OP_UNSUBSCRIBE_PATTERN) {
           char tmp[STRING];
@@ -1428,7 +1399,6 @@ void mutt_select_file (char *f, ssize_t flen, int flags, char ***files,
           init_menu (&state, menu, title, sizeof (title), buffy);
         }
         mutt_newsrc_update (news);
-        nntp_clear_cacheindex (news);
         if (i != OP_BROWSER_SUBSCRIBE && i != OP_BROWSER_UNSUBSCRIBE)
           regfree (rx);
         p_delete(&rx);