summaryrefslogtreecommitdiff
path: root/src/fe-common/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/fe-common/core')
-rw-r--r--src/fe-common/core/fe-settings.c8
-rw-r--r--src/fe-common/core/keyboard.c7
-rw-r--r--src/fe-common/core/keyboard.h6
3 files changed, 17 insertions, 4 deletions
diff --git a/src/fe-common/core/fe-settings.c b/src/fe-common/core/fe-settings.c
index a4abc7b8..b2ffbd5a 100644
--- a/src/fe-common/core/fe-settings.c
+++ b/src/fe-common/core/fe-settings.c
@@ -29,6 +29,7 @@
#include "levels.h"
#include "printtext.h"
+#include "keyboard.h"
static void set_print(SETTINGS_REC *rec)
{
@@ -274,10 +275,9 @@ static void cmd_save(const char *data)
printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE,
IRCTXT_CONFIG_MODIFIED, data);
- signal_emit("gui entry redirect", 4,
- settings_save_confirm,
- _("Overwrite config (y/N)?"),
- GINT_TO_POINTER(FALSE), g_strdup(data));
+ keyboard_entry_redirect((SIGNAL_FUNC) settings_save_confirm,
+ _("Overwrite config (y/N)?"),
+ 0, g_strdup(data));
}
void fe_settings_init(void)
diff --git a/src/fe-common/core/keyboard.c b/src/fe-common/core/keyboard.c
index 5c47edb9..4952a2cc 100644
--- a/src/fe-common/core/keyboard.c
+++ b/src/fe-common/core/keyboard.c
@@ -234,6 +234,13 @@ int key_pressed(const char *key, void *data)
return ret;
}
+void keyboard_entry_redirect(SIGNAL_FUNC func, const char *entry,
+ int flags, void *data)
+{
+ signal_emit("gui entry redirect", 4, func, entry,
+ GINT_TO_POINTER(flags), data);
+}
+
static void sig_command(const char *data)
{
const char *cmdchars;
diff --git a/src/fe-common/core/keyboard.h b/src/fe-common/core/keyboard.h
index 6c41fbfd..f3cc4d1a 100644
--- a/src/fe-common/core/keyboard.h
+++ b/src/fe-common/core/keyboard.h
@@ -29,6 +29,12 @@ void key_configure_remove(const char *key);
KEYINFO_REC *key_info_find(const char *id);
int key_pressed(const char *key, void *data);
+#define ENTRY_REDIRECT_FLAG_HOTKEY 0x01
+#define ENTRY_REDIRECT_FLAG_HIDDEN 0x02
+
+void keyboard_entry_redirect(SIGNAL_FUNC func, const char *entry,
+ int flags, void *data);
+
void keyboard_init(void);
void keyboard_deinit(void);