#include "mutt.h"
#include "alias.h"
#include "curs_lib.h"
+#include "dialog.h"
#include "format_flags.h"
#include "globals.h"
#include "keymap.h"
return;
}
+ struct MuttWindow *root = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED);
+ root->name = "addr-root";
+ struct MuttWindow *pager = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_MAXIMISE, MUTT_WIN_SIZE_UNLIMITED, MUTT_WIN_SIZE_UNLIMITED);
+ pager->name = "addr-pager";
+ struct MuttWindow *pbar = mutt_window_new(MUTT_WIN_ORIENT_VERTICAL, MUTT_WIN_SIZE_FIXED, 1, MUTT_WIN_SIZE_UNLIMITED);
+ pbar->name = "addr-bar";
+
+ struct Dialog *dialog = mutt_mem_calloc(1, sizeof (*dialog));
+ dialog->root = root;
+
+ mutt_window_add_child(root, pager);
+ mutt_window_add_child(root, pbar);
+
+ dialog_push(dialog);
+ win_dump();
+
menu = mutt_menu_new(MENU_ALIAS);
+
+ menu->pagelen = pager->state.rows;
+ menu->indexwin = pager;
+ menu->statuswin = pbar;
+
menu->menu_make_entry = alias_make_entry;
menu->menu_tag = alias_tag;
menu->title = _("Aliases");
mutt_mem_realloc(&alias_table, menu->max * sizeof(struct Alias *));
menu->data = alias_table;
if (!alias_table)
- return;
+ goto mam_done;
if (last)
a = TAILQ_NEXT(last, entries);
mutt_addrlist_write(buf, buflen, &alias_table[t]->addr, true);
}
+ FREE(&alias_table);
+
+mam_done:
mutt_menu_pop_current(menu);
mutt_menu_free(&menu);
- FREE(&alias_table);
+ dialog_pop();
+ mutt_window_free(&root);
+ FREE(&dialog);
}