diff --git a/include/folder_menu.h b/include/folder_menu.h index ccc25cd..0aa7fc9 100644 --- a/include/folder_menu.h +++ b/include/folder_menu.h @@ -46,11 +46,14 @@ inline auto handle_path_existence(std::string &file_path) { } } +inline auto get_file_name(const std::string &file_path) { + return std::filesystem::path(file_path).filename().string(); +} + inline auto handel_file(const std::shared_ptr &input_path_data) { run_command(input_path_data->file_path); get_parent_directory(input_path_data->file_path); - input_path_data->tab_content = - std::filesystem::path(input_path_data->file_path).filename().string(); + input_path_data->tab_content =get_file_name(input_path_data->file_path); input_path_data->menu.build_entries(get_directory_content(input_path_data->file_path)); } @@ -84,7 +87,7 @@ inline auto get_menu(const std::shared_ptr &input_path_data) { directory = directory.append(input_data->menu.entries[*input_data->menu.selected]()) .lexically_normal(); input_data->file_path = directory.string(); - input_data->tab_content = directory.filename().string(); + input_data->tab_content = get_file_name(input_data->file_path); handel_file_type(input_data); }; return multiselect_menu(&input_path_data->menu.entries, input_path_data->menu.selected.get(), @@ -110,7 +113,7 @@ inline auto get_input(const std::shared_ptr &input_path_data) { input_option.on_enter = [input_data = input_path_data]() mutable { handle_path_existence(input_data->file_path); std::filesystem::path directory{input_data->file_path}; - input_data->tab_content = directory.filename().string(); + input_data->tab_content = get_file_name(input_data->file_path); handel_file_type(input_data); }; input_option.transform = input_transform; @@ -134,7 +137,7 @@ inline auto handle_input(const Event &event) { inline auto FileMenu(std::shared_ptr &input_data) { input_data->menu.build_entries(get_directory_content(input_data->file_path)); - input_data->tab_content = std::filesystem::path(input_data->file_path).filename().string(); + input_data->tab_content = get_file_name(input_data->file_path); auto menu = get_menu(input_data); auto input = get_input(input_data); auto container = Container::Vertical({input, menu}) | CatchEvent(handle_input);