diff options
author | toni <matzeton@googlemail.com> | 2016-07-27 12:21:11 +0200 |
---|---|---|
committer | toni <matzeton@googlemail.com> | 2016-07-27 12:21:11 +0200 |
commit | 4424d17b812e1159552d9217cc491e4947d42424 (patch) | |
tree | 5d9205c421838772f4ee1d380308ffd8af30a14f /src/ui_elements.c | |
parent | b2c9fc568be1b8edbd2a1b7c19448fe987263bca (diff) |
fixed build error
Diffstat (limited to 'src/ui_elements.c')
-rw-r--r-- | src/ui_elements.c | 170 |
1 files changed, 0 insertions, 170 deletions
diff --git a/src/ui_elements.c b/src/ui_elements.c deleted file mode 100644 index 186c5af..0000000 --- a/src/ui_elements.c +++ /dev/null @@ -1,170 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> - -#include "ui.h" -#include "ui_ipc.h" -#include "ui_ani.h" -#include "ui_input.h" -#include "ui_statusbar.h" -#include "ui_txtwindow.h" -#include "ui_elements.h" - -#include "status.h" - -#define PASSWD_WIDTH 35 -#define PASSWD_HEIGHT 5 -#define PASSWD_XRELPOS (unsigned int)(PASSWD_WIDTH / 2) - (PASSWD_WIDTH / 6) -#define PASSWD_YRELPOS (unsigned int)(PASSWD_HEIGHT / 2) + 1 -#define INFOWND_WIDTH 25 -#define INFOWND_HEIGHT 1 -#define BSTR_LEN 3 - -static struct input *pw_input; -static struct anic *heartbeat; -static struct statusbar *higher, *lower; -static struct txtwindow *infownd; -static char *title = NULL; -static char busy_str[BSTR_LEN+1] = ".\0\0\0"; - - -static int -lower_statusbar_update(WINDOW *win, struct statusbar *bar, bool ui_timeout) -{ - if (ui_timeout == FALSE) return DOUI_OK; - char *tmp = get_system_stat(); - set_statusbar_text(bar, tmp); - free(tmp); - return DOUI_OK; -} - -static int -higher_statusbar_update(WINDOW *win, struct statusbar *bar, bool ui_timeout) -{ - return DOUI_OK; -} - -static int -infownd_update(WINDOW *win, struct txtwindow *tw, bool ui_timeout) -{ - if (ui_timeout == TRUE && tw->active == TRUE) { - size_t len = strlen(busy_str); - if (len > BSTR_LEN) { - memset(busy_str, '\0', BSTR_LEN+1); - busy_str[0] = '.'; - } else strcat(busy_str, "."); - } - return DOUI_OK; -} - -void -show_info_wnd(struct txtwindow *wnd, char *_title, char *text, chtype fore, chtype back, bool activate, bool blink) -{ - ui_thrd_suspend(); - set_txtwindow_active(wnd, activate); - set_txtwindow_blink(wnd, blink); - set_txtwindow_color(wnd, fore, back); - set_txtwindow_title(wnd, _title); - set_txtwindow_text(wnd, text); - ui_thrd_resume(); - ui_thrd_force_update(false,false); -} - -static int -passwd_input_cb(WINDOW *wnd, void *data, int key) -{ - struct input *a = (struct input *) data; - char ipc_buf[IPC_MQSIZ+1]; - - memset(ipc_buf, '\0', IPC_MQSIZ+1); - switch (key) { - case UIKEY_ENTER: - ui_thrd_suspend(); - ui_ipc_msgsend(MQ_PW, a->input); - clear_input(wnd, a); - deactivate_input(pw_input); - ui_thrd_resume(); - - ui_ipc_msgrecv(MQ_IF, ipc_buf); - show_info_wnd(infownd, "BUSY", ipc_buf, COLOR_PAIR(5), COLOR_PAIR(5), true, false); - sleep(2); - - if (ui_ipc_msgcount(MQ_IF) > 0) { - ui_ipc_msgrecv(MQ_IF, ipc_buf); - show_info_wnd(infownd, "ERROR", ipc_buf, COLOR_PAIR(4), COLOR_PAIR(4), true, true); - while (ui_wgetchtest(1500, '\n') != DOUI_KEY) { }; - } - - set_txtwindow_active(infownd, false); - activate_input(pw_input); - break; - case UIKEY_BACKSPACE: - del_input(wnd, a); - break; - case UIKEY_ESC: - ui_thrd_suspend(); - clear_input(wnd, a); - deactivate_input(pw_input); - ui_thrd_resume(); - show_info_wnd(infownd, "QUIT", "bye bye", COLOR_PAIR(5), COLOR_PAIR(5), true, true); - sleep(2); - return DOUI_ERR; - case UIKEY_DOWN: - case UIKEY_UP: - case UIKEY_LEFT: - case UIKEY_RIGHT: - break; - case UIKEY_ACTIVATE: - break; - default: - ui_thrd_suspend(); - add_input(wnd, a, key); - ui_thrd_resume(); - } - return DOUI_OK; -} - -void -init_ui_elements(WINDOW *wnd_main, unsigned int max_x, unsigned int max_y) -{ - asprintf(&title, "/* %s-%s */", PKGNAME, VERSION); - pw_input = init_input((unsigned int)(max_x / 2)-PASSWD_XRELPOS, - (unsigned int)(max_y / 2)-PASSWD_YRELPOS, - PASSWD_WIDTH, "PASSWORD: ", - IPC_MQSIZ, COLOR_PAIR(3), COLOR_PAIR(2)); - heartbeat = init_anic_default(0, 0, A_BOLD | COLOR_PAIR(1), "[%c]"); - higher = init_statusbar(0, max_x, A_BOLD | COLOR_PAIR(3), - higher_statusbar_update); - lower = init_statusbar(max_y - 1, max_x, COLOR_PAIR(3), - lower_statusbar_update); - infownd = init_txtwindow_centered(INFOWND_WIDTH, INFOWND_HEIGHT, - infownd_update); - - register_input(NULL, pw_input, passwd_input_cb); - register_statusbar(higher); - register_statusbar(lower); - register_anic_default(heartbeat); - register_txtwindow(infownd); - activate_input(pw_input); - set_statusbar_text(higher, title); -} - -void -free_ui_elements(void) -{ - unregister_ui_elt(lower); - unregister_ui_elt(higher); - unregister_ui_elt(heartbeat); - unregister_ui_elt(pw_input); - free_input(pw_input); - free_anic_default(heartbeat); - free_statusbar(higher); - free_statusbar(lower); - free_txtwindow(infownd); - free_ui(); - if (title) { - free(title); - title = NULL; - } -} |