diff --git a/.gitignore b/.gitignore index ea1fc4e..adb9908 100644 --- a/.gitignore +++ b/.gitignore @@ -70,4 +70,5 @@ build #Downloads contents Downloads -deps.mk \ No newline at end of file +deps.mk +src/deps.mk \ No newline at end of file diff --git a/src/main.c b/src/main.c index ca8ce7e..b8fc0ae 100644 --- a/src/main.c +++ b/src/main.c @@ -44,14 +44,16 @@ int main(int argc, char **argv) { /* init client to connect to the server */ app->params->sd = init_client(); - + if (params.addr == 0) { app->query_args->state = S_ASK_SEVER_IP; } else { connect_to_server(app); app->query_args->state = S_WAIT_SERVER; } - + + app->query_args->sd = app->params->sd; + query_loop(app); clear_params(¶ms); destroy_app(app); diff --git a/src/query.c b/src/query.c index 5768280..030aaac 100644 --- a/src/query.c +++ b/src/query.c @@ -32,7 +32,6 @@ void query_loop(app_t *app) { query_args_t *query_args = app->query_args; fd_set readfds; int32_t sd = app->params->sd; - app->query_args->sd = app->params->sd; size_t qlen; int sr; static file_args_t file_args; diff --git a/src/ui/app.c b/src/ui/app.c index 979b74b..79c39b1 100644 --- a/src/ui/app.c +++ b/src/ui/app.c @@ -6,6 +6,7 @@ // #include "modals/server_message.h" // #include "action.h" #include +#include #include #include #include @@ -13,42 +14,45 @@ void ac_file(WINDOW *win, int is_action_w); app_t *init_app() { - // get values from terminal size + /* get values from terminal size */ int y_max, x_max; getmaxyx(stdscr, y_max, x_max); - // allocate app struct memory + /* allocate app struct memory */ app_t *_app = calloc(1, sizeof(app_t)); - // associate values for screen size + /* associate values for screen size */ _app->coordinates.max_x = _app->coordinates.cur_x = x_max; _app->coordinates.max_y = _app->coordinates.cur_y = y_max; _app->win = newwin(_app->coordinates.cur_y, _app->coordinates.cur_x, 0, 0); - // define the width for each sub window - int menu_w_x = x_max / 6; - int action_w_x = x_max - menu_w_x - 2; + /* define the width for each sub window */ + int32_t left_w_x = x_max / 3; + int32_t right_w_x = x_max - left_w_x - 2; - // create the menu window - _app->left_win = newwin(y_max - 4, menu_w_x, 2, 1); + /* create the menu window */ + _app->left_win = newwin(y_max - 4, left_w_x, 2, 1); - // create the action window - _app->right_win = newwin(y_max - 4, action_w_x, 2, menu_w_x + 1); + /* create the action window */ + _app->right_win = newwin(y_max - 4, right_w_x, 2, left_w_x + 1); - // dialogue + /* dialogue */ _app->modal.win = NULL; _app->modal.is_initiated = 0; - // print decorative bars + /* default win */ + _app->active_win = aw_left; + + /* print decorative bars */ print_bars(_app); - // here goes box borders + /* here goes box borders */ draw_borders(_app); keypad(_app->win, TRUE); - // refresh the windows + /* refresh the windows */ wnoutrefresh(_app->win); wnoutrefresh(_app->left_win); wnoutrefresh(_app->right_win); @@ -70,15 +74,17 @@ void init_nc() { start_color(); init_pair(1, COLOR_RED, COLOR_BLACK); init_pair(2, COLOR_GREEN, COLOR_BLACK); - init_pair(MODAL_COLOR_PAIR, COLOR_BLUE, COLOR_WHITE); + init_pair(modal_color_pair, COLOR_BLUE, COLOR_WHITE); } } void draw_borders(app_t *app) { clear(); box(app->win, 0, 0); + box(app->left_win, 0, 0); + box(app->right_win, 0, 0); - // refresh the windows + /* refresh the windows */ wnoutrefresh(app->win); wnoutrefresh(app->left_win); wnoutrefresh(app->right_win); @@ -88,22 +94,31 @@ void draw_borders(app_t *app) { void print_bars(app_t *app) { wattrset(app->win, A_REVERSE); - // print top and bottom bars + /* print top and bottom bars */ for (int i = 1; i < app->coordinates.cur_x - 1; i++) { mvwprintw(app->win, 1, i, " "); mvwprintw(app->win, app->coordinates.cur_y - 2, i, " "); } - // add content to the top bar + /* add content to the top bar */ mvwprintw(app->win, 1, 2, "example cprint_barsurses app | "); mvwprintw(app->win, 1, sizeof "example cprint_barsurses app | " + 1, "size %d, %d", app->coordinates.cur_x, app->coordinates.cur_y); - // add content to the bottom bar + /* add content to the bottom bar */ mvwprintw(app->win, app->coordinates.cur_y - 2, 2, "F1 - Help | F9 - Quit"); wattroff(app->win, A_REVERSE); } + +void draw_file_list(app_t *app) { + WINDOW *win = app->left_win; + int sz_y, sz_x; + getmaxyx(win, sz_y, sz_x); + + +} + void app_refresh(app_t *app) { draw_borders(app); diff --git a/src/ui/app.h b/src/ui/app.h index 3137735..65a7e19 100644 --- a/src/ui/app.h +++ b/src/ui/app.h @@ -6,15 +6,15 @@ #include typedef enum { - MODAL_COLOR_PAIR = 3, - MODAL_BORDER_COLOR_PAIR = 4, + modal_color_pair = 3, + modal_border_color_pair = 4, } color; typedef enum { - none = 0, - login = 1, - ask_server_addr = 2, -} dialogue_e; + aw_left, + aw_right, + aw_modal +} active_win_t; typedef struct { WINDOW *win; @@ -26,6 +26,7 @@ typedef struct { query_args_t *query_args; file_args_t *file_args; int32_t read_fd; + active_win_t active_win; } app_t; app_t *init_app(); diff --git a/src/ui/widget/button.c b/src/ui/widget/button.c index f389dbc..a3e8ebd 100644 --- a/src/ui/widget/button.c +++ b/src/ui/widget/button.c @@ -26,7 +26,7 @@ int32_t draw_button(button_t *btn, uint32_t active_id) { if (btn->w.id == active_id) { sprintf(title, "[< %s >]", btn->w.title); - wattrset(win, COLOR_PAIR(MODAL_COLOR_PAIR) | A_BOLD | A_REVERSE); + wattrset(win, COLOR_PAIR(modal_color_pair) | A_BOLD | A_REVERSE); } else { sprintf(title, "[ %s ]", btn->w.title); wattrset(win, COLOR_PAIR(0) | A_REVERSE); diff --git a/src/ui/widget/input.c b/src/ui/widget/input.c index 176ed8c..f9b35b3 100644 --- a/src/ui/widget/input.c +++ b/src/ui/widget/input.c @@ -29,7 +29,7 @@ int32_t draw_input(input_t *input, uint32_t active_id) { uint32_t margin_y = input->w.m_y + input->w.w_parent->m_y; uint32_t margin_x = input->w.m_x + input->w.w_parent->m_x; - wattrset(win, COLOR_PAIR(MODAL_COLOR_PAIR)); + wattrset(win, COLOR_PAIR(modal_color_pair)); mvwhline(win, margin_y, margin_x, 0, input->w.x); mvwhline(win, margin_y + 2, margin_x, 0, input->w.x); @@ -50,7 +50,7 @@ int32_t draw_input(input_t *input, uint32_t active_id) { margin_x++; if (input->w.id == active_id) { - wattrset(win, COLOR_PAIR(MODAL_COLOR_PAIR) | A_BOLD | A_REVERSE); + wattrset(win, COLOR_PAIR(modal_color_pair) | A_BOLD | A_REVERSE); } else { wattrset(win, COLOR_PAIR(0) | A_BOLD); }