CMake integration
This commit is contained in:
@@ -72,3 +72,5 @@ Downloads
|
|||||||
|
|
||||||
deps.mk
|
deps.mk
|
||||||
src/deps.mk
|
src/deps.mk
|
||||||
|
.cache/
|
||||||
|
install/
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.23)
|
||||||
|
|
||||||
|
project(ZBBSClientTUI
|
||||||
|
VERSION 1.0.0
|
||||||
|
)
|
||||||
|
|
||||||
|
add_subdirectory(src)
|
||||||
|
|
||||||
|
install(
|
||||||
|
TARGETS zbbs-client-tui
|
||||||
|
)
|
||||||
@@ -16,7 +16,7 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(SRC_DIR)/%.h
|
|||||||
$(OBJ_DIR)/ui/%.o: $(SRC_DIR)/ui/%.c $(SRC_DIR)/ui/%.h
|
$(OBJ_DIR)/ui/%.o: $(SRC_DIR)/ui/%.c $(SRC_DIR)/ui/%.h
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
$(OBJ_DIR)/ui/widget/%.o: $(SRC_DIR)/ui/widget/%.c $(SRC_DIR)/ui/widget/%.h
|
$(OBJ_DIR)/widget/%.o: $(SRC_DIR)/widget/%.c $(SRC_DIR)/widget/%.h
|
||||||
$(CC) $(CFLAGS) -c $< -o $@
|
$(CC) $(CFLAGS) -c $< -o $@
|
||||||
|
|
||||||
$(OBJ_DIR)/ui/modals/%.o: $(SRC_DIR)/ui/modals/%.c $(SRC_DIR)/ui/modals/%.h
|
$(OBJ_DIR)/ui/modals/%.o: $(SRC_DIR)/ui/modals/%.c $(SRC_DIR)/ui/modals/%.h
|
||||||
|
|||||||
@@ -11,3 +11,4 @@
|
|||||||
- [ ] Group elements as lists
|
- [ ] Group elements as lists
|
||||||
- [ ] "Server message" to notification
|
- [ ] "Server message" to notification
|
||||||
- [ ] file list -> list template
|
- [ ] file list -> list template
|
||||||
|
- [x] CMAKE
|
||||||
@@ -4,4 +4,4 @@ mkdir bin
|
|||||||
mkdir Downloads
|
mkdir Downloads
|
||||||
mkdir src/obj/ui
|
mkdir src/obj/ui
|
||||||
mkdir src/obj/ui/modals
|
mkdir src/obj/ui/modals
|
||||||
mkdir src/obj/ui/widget
|
mkdir src/obj/widget
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
add_executable(zbbs-client-tui)
|
||||||
|
|
||||||
|
file(GLOB M_HEADERS "*.h")
|
||||||
|
file(GLOB M_SOURCES "*.c")
|
||||||
|
|
||||||
|
set(CURSES_NEED_NCURSES TRUE)
|
||||||
|
|
||||||
|
find_package(Curses REQUIRED)
|
||||||
|
|
||||||
|
target_sources(zbbs-client-tui
|
||||||
|
PRIVATE
|
||||||
|
${M_SOURCES}
|
||||||
|
PUBLIC
|
||||||
|
FILE_SET HEADERS
|
||||||
|
FILES
|
||||||
|
${M_HEADERS}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_subdirectory(ui-widget-core)
|
||||||
|
add_subdirectory(widget)
|
||||||
|
add_subdirectory(modals)
|
||||||
|
|
||||||
|
target_link_libraries(zbbs-client-tui
|
||||||
|
PRIVATE
|
||||||
|
ui-widget-core
|
||||||
|
widget
|
||||||
|
modals
|
||||||
|
${CURSES_LIBRARIES}
|
||||||
|
)
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "ui/app.h"
|
#include "app.h"
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#ifndef CONNECTION_H
|
#ifndef CONNECTION_H
|
||||||
#define CONNECTION_H
|
#define CONNECTION_H
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "ui/app.h"
|
#include <widget.h>
|
||||||
|
|
||||||
void connect_to_server(app_t *params);
|
void connect_to_server(app_t *params);
|
||||||
void init_params(params_t *restrict);
|
void init_params(params_t *restrict);
|
||||||
|
|||||||
-26
@@ -1,26 +0,0 @@
|
|||||||
connection.o: src/connection.c src/main.h src/types.h src/ui/app.h \
|
|
||||||
src/ui/../common.h src/ui/widget.h src/ui/../main.h \
|
|
||||||
src/ui/widget/dialogue.h src/ui/widget/../widget.h \
|
|
||||||
src/ui/widget/../../common.h src/ui/widget/button.h \
|
|
||||||
src/ui/widget/../../main.h src/ui/widget/group.h
|
|
||||||
file_processor.o: src/file_processor.c src/file_processor.h src/main.h \
|
|
||||||
src/types.h src/ui/widget/file_list.h src/ui/widget/../widget.h \
|
|
||||||
src/ui/widget/../../main.h src/query.h src/ui/app.h src/ui/../common.h \
|
|
||||||
src/ui/widget.h src/ui/widget/dialogue.h src/ui/widget/../../common.h \
|
|
||||||
src/ui/widget/button.h src/ui/widget/../../main.h src/ui/widget/group.h \
|
|
||||||
src/ui/widget/dialogue.h src/ui/widget/progress_bar.h
|
|
||||||
fs.o: src/fs.c
|
|
||||||
main.o: src/main.c src/connection.h src/main.h src/types.h src/ui/app.h \
|
|
||||||
src/ui/../common.h src/ui/widget.h src/ui/../main.h \
|
|
||||||
src/ui/widget/dialogue.h src/ui/widget/../widget.h \
|
|
||||||
src/ui/widget/../../common.h src/ui/widget/button.h \
|
|
||||||
src/ui/widget/../../main.h src/ui/widget/group.h src/query.h \
|
|
||||||
src/ui/widget.h src/ui/widget/file_list.h
|
|
||||||
query.o: src/query.c src/connection.h src/main.h src/types.h src/ui/app.h \
|
|
||||||
src/ui/../common.h src/ui/widget.h src/ui/../main.h \
|
|
||||||
src/ui/widget/dialogue.h src/ui/widget/../widget.h \
|
|
||||||
src/ui/widget/../../common.h src/ui/widget/button.h \
|
|
||||||
src/ui/widget/../../main.h src/ui/widget/group.h src/file_processor.h \
|
|
||||||
src/ui/widget/file_list.h src/server.h
|
|
||||||
server.o: src/server.c src/main.h src/types.h src/ui/widget/file_list.h \
|
|
||||||
src/ui/widget/../widget.h src/ui/widget/../../main.h
|
|
||||||
|
|||||||
@@ -0,0 +1,68 @@
|
|||||||
|
#include "modals/ask_server_addr.h"
|
||||||
|
#include "modals/download_pr.h"
|
||||||
|
#include "modals/login_credentials.h"
|
||||||
|
#include "modals/login_option.h"
|
||||||
|
#include "modals/notification.h"
|
||||||
|
#include "modals/server_message.h"
|
||||||
|
#include "modals/upload_dialogue.h"
|
||||||
|
#include "modals/upload_props_dialogue.h"
|
||||||
|
#include "widget/dialogue.h"
|
||||||
|
#include "main.h"
|
||||||
|
|
||||||
|
void app_draw_modal(app_t *app) {
|
||||||
|
if (app->modal.needs_destroy ||
|
||||||
|
(app->query_args->state == S_WAIT_SERVER && app->modal.is_initiated)) {
|
||||||
|
destroy_dialogue(&(app->modal), app);
|
||||||
|
}
|
||||||
|
if (!app->modal.is_initiated) {
|
||||||
|
switch (app->query_args->state) {
|
||||||
|
case S_ASK_SEVER_IP:
|
||||||
|
init_asa_modal(app);
|
||||||
|
break;
|
||||||
|
case S_ASK_LOGIN_TYPE:
|
||||||
|
init_login_option_modal(app);
|
||||||
|
break;
|
||||||
|
case S_ASK_LOGIN_USER:
|
||||||
|
init_login_credentials_modal(app);
|
||||||
|
break;
|
||||||
|
case S_PRINT_SERVER_MESSAGE:
|
||||||
|
init_server_message_modal(app);
|
||||||
|
break;
|
||||||
|
case S_FILE_DOWNLOAD:
|
||||||
|
init_dwn_pr_modal(app, false);
|
||||||
|
break;
|
||||||
|
case S_UPLOAD_FILE:
|
||||||
|
init_dwn_pr_modal(app, true);
|
||||||
|
break;
|
||||||
|
case S_UPLOAD_FILE_SELECT:
|
||||||
|
init_upload_dialogue_modal(app);
|
||||||
|
break;
|
||||||
|
case S_UPLOAD_PARAMS:
|
||||||
|
init_upload_props_dialogue_modal(app);
|
||||||
|
break;
|
||||||
|
case WAIT_SERVER_INIT:
|
||||||
|
case WAIT_SERVER:
|
||||||
|
case WAIT_REGISTER:
|
||||||
|
case WAIT_REGISTER_CONFIRMATION:
|
||||||
|
case WAIT_CLIENT:
|
||||||
|
case S_FILE_LIST:
|
||||||
|
case S_FILE_SELECT:
|
||||||
|
case S_UPLOAD_REQUESTED:
|
||||||
|
case S_ASK_USER_BEFORE_LOGIN:
|
||||||
|
case S_ERR:
|
||||||
|
case S_WAIT_SERVER:
|
||||||
|
case S_N_D:
|
||||||
|
case S_NEXT_ACTION:
|
||||||
|
if (app->query_args->notification != NULL) {
|
||||||
|
init_notification_modal(app);
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
app->active_callback = app->modal.w.callback;
|
||||||
|
app->active_win = app->modal.win;
|
||||||
|
app->active_win_type = aw_modal;
|
||||||
|
app->active_widget = &(app->modal);
|
||||||
|
}
|
||||||
|
draw_dialogue(&(app->modal));
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
#ifndef DRAW_MODAL_H
|
||||||
|
#define DRAW_MODAL_H
|
||||||
|
#include <widget.h>
|
||||||
|
void app_draw_modal(app_t *app);
|
||||||
|
#endif
|
||||||
@@ -17,9 +17,9 @@
|
|||||||
#include "file_processor.h"
|
#include "file_processor.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "query.h"
|
#include "query.h"
|
||||||
#include "ui/widget/dialogue.h"
|
#include "widget/dialogue.h"
|
||||||
#include "ui/widget/file_list.h"
|
#include "widget/file_list.h"
|
||||||
#include "ui/widget/progress_bar.h"
|
#include "widget/progress_bar.h"
|
||||||
|
|
||||||
static void fl_add(fl_item_t **cur, fl_item_t **start, char *fname);
|
static void fl_add(fl_item_t **cur, fl_item_t **start, char *fname);
|
||||||
fl_item_t *fl_select(fl_item_t *start, int num);
|
fl_item_t *fl_select(fl_item_t *start, int num);
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef FILE_PROCESSOR_H
|
#ifndef FILE_PROCESSOR_H
|
||||||
#define FILE_PROCESSOR_H
|
#define FILE_PROCESSOR_H
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "ui/widget/file_list.h"
|
#include "widget/file_list.h"
|
||||||
|
|
||||||
void file_list(file_args_t *f_args, query_args_t *q_args);
|
void file_list(file_args_t *f_args, query_args_t *q_args);
|
||||||
void file_download(file_args_t *f_args, query_args_t *q_args);
|
void file_download(file_args_t *f_args, query_args_t *q_args);
|
||||||
|
|||||||
+1
-3
@@ -12,9 +12,7 @@
|
|||||||
#include "connection.h"
|
#include "connection.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "query.h"
|
#include "query.h"
|
||||||
#include "ui/app.h"
|
#include <widget.h>
|
||||||
#include "ui/widget.h"
|
|
||||||
#include "ui/widget/file_list.h"
|
|
||||||
|
|
||||||
uint32_t m_id = 0;
|
uint32_t m_id = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
add_library(modals STATIC)
|
||||||
|
|
||||||
|
file(GLOB M_HEADERS "*.h")
|
||||||
|
file(GLOB M_SOURCES "*.c")
|
||||||
|
|
||||||
|
target_link_libraries(modals PRIVATE widget ui-widget-core)
|
||||||
|
|
||||||
|
target_sources(modals
|
||||||
|
PRIVATE
|
||||||
|
${M_SOURCES}
|
||||||
|
PUBLIC
|
||||||
|
FILE_SET HEADERS
|
||||||
|
FILES
|
||||||
|
${M_HEADERS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(modals PRIVATE "../widget")
|
||||||
|
target_include_directories(modals PRIVATE "../ui-widget-core")
|
||||||
@@ -2,11 +2,14 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
|
|
||||||
#include "../../connection.h"
|
// #include "../app.h"
|
||||||
#include "../app.h"
|
// #include "../widget/dialogue.h"
|
||||||
#include "../widget/dialogue.h"
|
// #include "../widget/group.h"
|
||||||
#include "../widget/group.h"
|
// #include "../widget/input.h"
|
||||||
#include "../widget/input.h"
|
// #include "../widget/button.h"
|
||||||
|
|
||||||
|
#include <widget.h>
|
||||||
|
#include "../connection.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
button_t *element;
|
button_t *element;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef ASK_SERVER_ADDR_H
|
#ifndef ASK_SERVER_ADDR_H
|
||||||
#define ASK_SERVER_ADDR_H
|
#define ASK_SERVER_ADDR_H
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
#include "../widget/dialogue.h"
|
||||||
|
|
||||||
dialogue_t *init_asa_modal(app_t *app);
|
dialogue_t *init_asa_modal(app_t *app);
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef DOWNLOAD_PR_H
|
#ifndef DOWNLOAD_PR_H
|
||||||
#define DOWNLOAD_PR_H
|
#define DOWNLOAD_PR_H
|
||||||
|
|
||||||
#include "../widget/dialogue.h"
|
#include <widget.h>
|
||||||
#include "../app.h"
|
|
||||||
|
|
||||||
dialogue_t *init_dwn_pr_modal(app_t *app, bool is_upload);
|
dialogue_t *init_dwn_pr_modal(app_t *app, bool is_upload);
|
||||||
|
|
||||||
@@ -4,10 +4,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
#include "../widget/input.h"
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
button_t *element;
|
button_t *element;
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef LOGIN_CREDENTIALS_MODAL_H
|
#ifndef LOGIN_CREDENTIALS_MODAL_H
|
||||||
#define LOGIN_CREDENTIALS_MODAL_H
|
#define LOGIN_CREDENTIALS_MODAL_H
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
|
|
||||||
dialogue_t *init_login_credentials_modal(app_t *app);
|
dialogue_t *init_login_credentials_modal(app_t *app);
|
||||||
|
|
||||||
@@ -2,9 +2,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
button_t *element;
|
button_t *element;
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef LOGIN_OPTION_MODAL_H
|
#ifndef LOGIN_OPTION_MODAL_H
|
||||||
#define LOGIN_OPTION_MODAL_H
|
#define LOGIN_OPTION_MODAL_H
|
||||||
|
|
||||||
#include "../widget/dialogue.h"
|
#include <widget.h>
|
||||||
#include "../app.h"
|
|
||||||
|
|
||||||
dialogue_t *init_login_option_modal(app_t *app);
|
dialogue_t *init_login_option_modal(app_t *app);
|
||||||
|
|
||||||
@@ -3,9 +3,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
button_t *element;
|
button_t *element;
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef NOTIFICATION_H
|
#ifndef NOTIFICATION_H
|
||||||
#define NOTIFICATION_H
|
#define NOTIFICATION_H
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
|
|
||||||
dialogue_t *init_notification_modal(app_t *app);
|
dialogue_t *init_notification_modal(app_t *app);
|
||||||
|
|
||||||
@@ -3,9 +3,7 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
button_t *element;
|
button_t *element;
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef SERVER_MESSAGE_H
|
#ifndef SERVER_MESSAGE_H
|
||||||
#define SERVER_MESSAGE_H
|
#define SERVER_MESSAGE_H
|
||||||
|
|
||||||
#include "../widget/dialogue.h"
|
#include <widget.h>
|
||||||
#include "../app.h"
|
|
||||||
|
|
||||||
void *init_server_message_modal(app_t *app);
|
void *init_server_message_modal(app_t *app);
|
||||||
|
|
||||||
@@ -1,8 +1,5 @@
|
|||||||
#include "../../file_processor.h"
|
#include "../file_processor.h"
|
||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/fs_file_list.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef UPLOAD_DIALOGUE_H
|
#ifndef UPLOAD_DIALOGUE_H
|
||||||
#define UPLOAD_DIALOGUE_H
|
#define UPLOAD_DIALOGUE_H
|
||||||
|
|
||||||
#include "../widget/dialogue.h"
|
#include <widget.h>
|
||||||
#include "../app.h"
|
|
||||||
|
|
||||||
dialogue_t *init_upload_dialogue_modal(app_t *app);
|
dialogue_t *init_upload_dialogue_modal(app_t *app);
|
||||||
|
|
||||||
@@ -1,7 +1,4 @@
|
|||||||
#include "../app.h"
|
#include <widget.h>
|
||||||
#include "../widget/dialogue.h"
|
|
||||||
#include "../widget/group.h"
|
|
||||||
#include "../widget/input.h"
|
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#ifndef UPLOAD_PROPS_DIALOGUE_H
|
#ifndef UPLOAD_PROPS_DIALOGUE_H
|
||||||
#define UPLOAD_PROPS_DIALOGUE_H
|
#define UPLOAD_PROPS_DIALOGUE_H
|
||||||
|
|
||||||
#include "../widget/dialogue.h"
|
#include <widget.h>
|
||||||
#include "../app.h"
|
|
||||||
|
|
||||||
dialogue_t *init_upload_props_dialogue_modal(app_t *app);
|
dialogue_t *init_upload_props_dialogue_modal(app_t *app);
|
||||||
|
|
||||||
+2
-1
@@ -20,7 +20,8 @@
|
|||||||
#include "file_processor.h"
|
#include "file_processor.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "server.h"
|
#include "server.h"
|
||||||
#include "ui/app.h"
|
#include "app.h"
|
||||||
|
#include "draw-modal.h"
|
||||||
|
|
||||||
static void wait_side(query_args_t *q_args);
|
static void wait_side(query_args_t *q_args);
|
||||||
void user_request_description(query_args_t *q_args);
|
void user_request_description(query_args_t *q_args);
|
||||||
|
|||||||
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
#define QUERY_H
|
#define QUERY_H
|
||||||
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "ui/app.h"
|
#include "app.h"
|
||||||
|
|
||||||
void query_loop(app_t *);
|
void query_loop(app_t *);
|
||||||
void wait_register(query_args_t *q_args);
|
void wait_register(query_args_t *q_args);
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "ui/widget/file_list.h"
|
#include "widget/file_list.h"
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
add_library(ui-widget-core STATIC)
|
||||||
|
|
||||||
|
file(GLOB M_HEADERS "*.h")
|
||||||
|
file(GLOB M_SOURCES "*.c")
|
||||||
|
|
||||||
|
target_sources(ui-widget-core
|
||||||
|
PRIVATE
|
||||||
|
${M_SOURCES}
|
||||||
|
PUBLIC
|
||||||
|
FILE_SET HEADERS
|
||||||
|
FILES
|
||||||
|
${M_HEADERS}
|
||||||
|
)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#include "widget.h"
|
#include "ui-widget-core.h"
|
||||||
#include "../main.h"
|
#include "../main.h"
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#ifndef WIDGET_H
|
#ifndef WIDGET_CORE_H
|
||||||
#define WIDGET_H
|
#define WIDGET_CORE_H
|
||||||
|
|
||||||
#include "../main.h"
|
#include "../main.h"
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
add_library(widget STATIC)
|
||||||
|
|
||||||
|
file(GLOB M_HEADERS "*.h")
|
||||||
|
file(GLOB M_SOURCES "*.c")
|
||||||
|
|
||||||
|
list(REMOVE_ITEM M_HEADERS "widget.h")
|
||||||
|
|
||||||
|
target_sources(widget
|
||||||
|
PRIVATE
|
||||||
|
${M_SOURCES}
|
||||||
|
PUBLIC
|
||||||
|
FILE_SET HEADERS
|
||||||
|
FILES
|
||||||
|
${M_HEADERS}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(widget
|
||||||
|
PRIVATE
|
||||||
|
ui-widget-core
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(widget PRIVATE "../ui-widget-core")
|
||||||
@@ -1,13 +1,4 @@
|
|||||||
#include "app.h"
|
#include "app.h"
|
||||||
#include "modals/ask_server_addr.h"
|
|
||||||
#include "modals/download_pr.h"
|
|
||||||
#include "modals/login_credentials.h"
|
|
||||||
#include "modals/login_option.h"
|
|
||||||
#include "modals/notification.h"
|
|
||||||
#include "modals/server_message.h"
|
|
||||||
#include "modals/upload_dialogue.h"
|
|
||||||
#include "modals/upload_props_dialogue.h"
|
|
||||||
#include "widget/dialogue.h"
|
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <netinet/in.h>
|
#include <netinet/in.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -137,64 +128,6 @@ void app_refresh(app_t *app) {
|
|||||||
doupdate();
|
doupdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
void app_draw_modal(app_t *app) {
|
|
||||||
if (app->modal.needs_destroy ||
|
|
||||||
(app->query_args->state == S_WAIT_SERVER && app->modal.is_initiated)) {
|
|
||||||
destroy_dialogue(&(app->modal), app);
|
|
||||||
}
|
|
||||||
if (!app->modal.is_initiated) {
|
|
||||||
switch (app->query_args->state) {
|
|
||||||
case S_ASK_SEVER_IP:
|
|
||||||
init_asa_modal(app);
|
|
||||||
break;
|
|
||||||
case S_ASK_LOGIN_TYPE:
|
|
||||||
init_login_option_modal(app);
|
|
||||||
break;
|
|
||||||
case S_ASK_LOGIN_USER:
|
|
||||||
init_login_credentials_modal(app);
|
|
||||||
break;
|
|
||||||
case S_PRINT_SERVER_MESSAGE:
|
|
||||||
init_server_message_modal(app);
|
|
||||||
break;
|
|
||||||
case S_FILE_DOWNLOAD:
|
|
||||||
init_dwn_pr_modal(app, false);
|
|
||||||
break;
|
|
||||||
case S_UPLOAD_FILE:
|
|
||||||
init_dwn_pr_modal(app, true);
|
|
||||||
break;
|
|
||||||
case S_UPLOAD_FILE_SELECT:
|
|
||||||
init_upload_dialogue_modal(app);
|
|
||||||
break;
|
|
||||||
case S_UPLOAD_PARAMS:
|
|
||||||
init_upload_props_dialogue_modal(app);
|
|
||||||
break;
|
|
||||||
case WAIT_SERVER_INIT:
|
|
||||||
case WAIT_SERVER:
|
|
||||||
case WAIT_REGISTER:
|
|
||||||
case WAIT_REGISTER_CONFIRMATION:
|
|
||||||
case WAIT_CLIENT:
|
|
||||||
case S_FILE_LIST:
|
|
||||||
case S_FILE_SELECT:
|
|
||||||
case S_UPLOAD_REQUESTED:
|
|
||||||
case S_ASK_USER_BEFORE_LOGIN:
|
|
||||||
case S_ERR:
|
|
||||||
case S_WAIT_SERVER:
|
|
||||||
case S_N_D:
|
|
||||||
case S_NEXT_ACTION:
|
|
||||||
if (app->query_args->notification != NULL) {
|
|
||||||
init_notification_modal(app);
|
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
app->active_callback = app->modal.w.callback;
|
|
||||||
app->active_win = app->modal.win;
|
|
||||||
app->active_win_type = aw_modal;
|
|
||||||
app->active_widget = &(app->modal);
|
|
||||||
}
|
|
||||||
draw_dialogue(&(app->modal));
|
|
||||||
}
|
|
||||||
|
|
||||||
void destroy_app(app_t *app, int32_t exit_code) {
|
void destroy_app(app_t *app, int32_t exit_code) {
|
||||||
delwin(app->win);
|
delwin(app->win);
|
||||||
endwin();
|
endwin();
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
#ifndef N_APP_H
|
#ifndef N_APP_H
|
||||||
#define N_APP_H
|
#define N_APP_H
|
||||||
|
|
||||||
|
#include "../main.h"
|
||||||
#include "../common.h"
|
#include "../common.h"
|
||||||
#include "widget.h"
|
#include "dialogue.h"
|
||||||
#include "widget/dialogue.h"
|
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
|
#include <ui-widget-core.h>
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
modal_color_pair = 3,
|
modal_color_pair = 3,
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include "app.h"
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
#include "button.h"
|
#include "button.h"
|
||||||
|
|
||||||
button_t *init_button(WINDOW **win, widget_t *w_parent, char *label) {
|
button_t *init_button(WINDOW **win, widget_t *w_parent, char *label) {
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#ifndef BUTTON_H
|
#ifndef BUTTON_H
|
||||||
#define BUTTON_H
|
#define BUTTON_H
|
||||||
|
|
||||||
#include "../../main.h"
|
#include "../main.h"
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include "app.h"
|
||||||
#include "dialogue.h"
|
#include "dialogue.h"
|
||||||
#include "file_list.h"
|
#include "file_list.h"
|
||||||
#include "group.h"
|
#include "group.h"
|
||||||
@@ -1,12 +1,11 @@
|
|||||||
#ifndef DIALOGUE_H
|
#ifndef DIALOGUE_H
|
||||||
#define DIALOGUE_H
|
#define DIALOGUE_H
|
||||||
|
|
||||||
#include "../widget.h"
|
#include "../common.h"
|
||||||
#include "../../common.h"
|
|
||||||
#include "button.h"
|
|
||||||
#include "group.h"
|
#include "group.h"
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <ui-widget-core.h>
|
||||||
|
|
||||||
enum g_type { g_content, g_action };
|
enum g_type { g_content, g_action };
|
||||||
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
#include "file_list.h"
|
#include "file_list.h"
|
||||||
#include "../../file_processor.h"
|
#include "../file_processor.h"
|
||||||
#include "../../fs.h"
|
#include "../fs.h"
|
||||||
#include "../app.h"
|
#include "app.h"
|
||||||
#include "progress_bar.h"
|
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#ifndef FILE_LIST_H
|
#ifndef FILE_LIST_H
|
||||||
#define FILE_LIST_H
|
#define FILE_LIST_H
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
#include "fs_file_list.h"
|
#include "fs_file_list.h"
|
||||||
#include "progress_bar.h"
|
|
||||||
#include <dirent.h>
|
#include <dirent.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#ifndef FS_FILE_LIST_H
|
#ifndef FS_FILE_LIST_H
|
||||||
#define FS_FILE_LIST_H
|
#define FS_FILE_LIST_H
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#ifndef GROUP_H
|
#ifndef GROUP_H
|
||||||
#define GROUP_H
|
#define GROUP_H
|
||||||
|
|
||||||
#include "../widget.h"
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <ui-widget-core.h>
|
||||||
|
|
||||||
enum g_direction {
|
enum g_direction {
|
||||||
horizontal,
|
horizontal,
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "../app.h"
|
#include "app.h"
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
|
||||||
input_t *init_input(WINDOW **win, widget_t *w_parent, char *label,
|
input_t *init_input(WINDOW **win, widget_t *w_parent, char *label,
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
#ifndef INPUT_H
|
#ifndef INPUT_H
|
||||||
#define INPUT_H
|
#define INPUT_H
|
||||||
|
|
||||||
#include "../../main.h"
|
#include "../main.h"
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#include "progress_bar.h"
|
#include "progress_bar.h"
|
||||||
#include "../app.h"
|
#include "app.h"
|
||||||
#include <ncurses.h>
|
#include <ncurses.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#ifndef PROGRESS_BAR_H
|
#ifndef PROGRESS_BAR_H
|
||||||
#define PROGRESS_BAR_H
|
#define PROGRESS_BAR_H
|
||||||
#include "../widget.h"
|
#include <ui-widget-core.h>
|
||||||
typedef struct {
|
typedef struct {
|
||||||
widget_t w;
|
widget_t w;
|
||||||
uint32_t procent;
|
uint32_t procent;
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#ifndef WIDGET_H
|
||||||
|
#define WIDGET_H
|
||||||
|
#include "app.h"
|
||||||
|
#include "button.h"
|
||||||
|
#include "dialogue.h"
|
||||||
|
#include "file_list.h"
|
||||||
|
#include "fs_file_list.h"
|
||||||
|
#include "group.h"
|
||||||
|
#include "input.h"
|
||||||
|
#include "progress_bar.h"
|
||||||
|
|
||||||
|
#endif
|
||||||
Reference in New Issue
Block a user