From f8acad01d8e1f3086296c77ef946d612b1b4041b Mon Sep 17 00:00:00 2001 From: kichikuou Date: Sat, 14 Dec 2024 10:22:38 +0900 Subject: [PATCH] Move TexthookMode enum to config.h --- src/config.cpp | 8 ++++---- src/config.h | 9 +++++++-- src/sdlmain.cpp | 1 + src/texthook.cpp | 6 +++--- src/texthook.h | 8 ++------ src/win/nact_win.cpp | 4 ++-- 6 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/config.cpp b/src/config.cpp index 726471d..574e193 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -80,16 +80,16 @@ std::pair parse_keyval(char *line) TexthookMode parse_texthook_mode(const char *s, int lineno = -1) { if (!strcasecmp(s, "none")) - return TEXTHOOK_NONE; + return TexthookMode::NONE; if (!strcasecmp(s, "print")) - return TEXTHOOK_PRINT; + return TexthookMode::PRINT; if (!strcasecmp(s, "copy")) - return TEXTHOOK_COPY; + return TexthookMode::COPY; if (lineno == -1) ERROR("Command line: Invalid texthook mode '%s'", s); else ERROR(INIFILENAME ":%d Invalid texthook mode '%s'", lineno, s); - return TEXTHOOK_NONE; + return TexthookMode::NONE; } void init_string(std::string& s, Encoding* encoding, const char *dflt) diff --git a/src/config.h b/src/config.h index 748f42c..a89518a 100644 --- a/src/config.h +++ b/src/config.h @@ -2,10 +2,15 @@ #define CONFIG_H_ #include -#include "texthook.h" class Encoding; +enum class TexthookMode { + NONE, + PRINT, + COPY, +}; + struct Strings { std::string back; std::string next_page; @@ -33,7 +38,7 @@ struct Config { bool use_fm = false; bool no_antialias = false; bool scanline = false; - TexthookMode texthook_mode = TEXTHOOK_NONE; + TexthookMode texthook_mode = TexthookMode::NONE; std::string texthook_suppressions; private: diff --git a/src/sdlmain.cpp b/src/sdlmain.cpp index 59c70eb..f29884f 100644 --- a/src/sdlmain.cpp +++ b/src/sdlmain.cpp @@ -2,6 +2,7 @@ #include "common.h" #include "config.h" #include "fileio.h" +#include "texthook.h" #include "sys/nact.h" #ifdef _WIN32 #include diff --git a/src/texthook.cpp b/src/texthook.cpp index e158ca1..d6aa845 100644 --- a/src/texthook.cpp +++ b/src/texthook.cpp @@ -147,13 +147,13 @@ enum { void texthook_set_mode(TexthookMode mode) { #ifndef __EMSCRIPTEN__ switch (mode) { - case TEXTHOOK_NONE: + case TexthookMode::NONE: handler = &none; break; - case TEXTHOOK_PRINT: + case TexthookMode::PRINT: handler = &print; break; - case TEXTHOOK_COPY: + case TexthookMode::COPY: handler = © break; } diff --git a/src/texthook.h b/src/texthook.h index 2ebbc73..434a6ee 100644 --- a/src/texthook.h +++ b/src/texthook.h @@ -1,13 +1,9 @@ #ifndef _TEXTHOOK_H_ #define _TEXTHOOK_H_ -extern "C" { +#include "config.h" -enum TexthookMode { - TEXTHOOK_NONE, - TEXTHOOK_PRINT, - TEXTHOOK_COPY, -}; +extern "C" { void texthook_set_mode(TexthookMode mode); void texthook_set_suppression_list(const char *suppressions); diff --git a/src/win/nact_win.cpp b/src/win/nact_win.cpp index 8c50029..76c9961 100644 --- a/src/win/nact_win.cpp +++ b/src/win/nact_win.cpp @@ -33,7 +33,7 @@ void init_menu(bool mouse_move_enabled, const Config& config) CheckMenuItem(hmenu, ID_OPTION_MOUSE_MOVE, MF_BYCOMMAND | MFS_CHECKED); if (config.scanline) CheckMenuItem(hmenu, ID_SCANLINE, MF_BYCOMMAND | MFS_CHECKED); - auto_copy_enabled = config.texthook_mode == TEXTHOOK_COPY; + auto_copy_enabled = config.texthook_mode == TexthookMode::COPY; if (auto_copy_enabled) CheckMenuItem(hmenu, ID_TEXT_AUTO_COPY, MF_BYCOMMAND | MFS_CHECKED); } @@ -226,7 +226,7 @@ bool NACT::handle_platform_event(const SDL_Event& e) auto_copy_enabled = !auto_copy_enabled; CheckMenuItem(GetMenu(get_hwnd(g_window)), ID_TEXT_AUTO_COPY, MF_BYCOMMAND | auto_copy_enabled ? MFS_CHECKED : MFS_UNCHECKED); - texthook_set_mode(auto_copy_enabled ? TEXTHOOK_COPY : TEXTHOOK_NONE); + texthook_set_mode(auto_copy_enabled ? TexthookMode::COPY : TexthookMode::NONE); break; } break;