refactor: define all signals to header files

This commit is contained in:
DL 2025-06-16 12:15:41 +02:00
parent 7dab18e121
commit 443f323597
12 changed files with 137 additions and 75 deletions

View File

@ -221,7 +221,7 @@ static void toplevel_handle_done(void *data,
assert(shell); assert(shell);
DiyaForeignWindow *win = diya_session_shell_get_window(shell, handle); DiyaForeignWindow *win = diya_session_shell_get_window(shell, handle);
assert(win); assert(win);
g_signal_emit_by_name(shell, "foreign-window-changed", (void *)win); g_signal_emit_by_name(shell, DIYA_SIGNAL_FOREIGN_WINDOW_CHANGED, (void *)win);
} }
static void toplevel_handle_closed(void *data, static void toplevel_handle_closed(void *data,
struct zwlr_foreign_toplevel_handle_v1 *handle) struct zwlr_foreign_toplevel_handle_v1 *handle)
@ -230,7 +230,7 @@ static void toplevel_handle_closed(void *data,
assert(shell); assert(shell);
DiyaForeignWindow *win = diya_session_shell_get_window(shell, handle); DiyaForeignWindow *win = diya_session_shell_get_window(shell, handle);
assert(win); assert(win);
g_signal_emit_by_name(shell, "foreign-window-removed", (void *)win); g_signal_emit_by_name(shell, DIYA_SIGNAL_FOREIGN_WINDOW_REMOVED, (void *)win);
diya_session_shell_remove_window(shell, win); diya_session_shell_remove_window(shell, win);
zwlr_foreign_toplevel_handle_v1_destroy(handle); zwlr_foreign_toplevel_handle_v1_destroy(handle);
} }

View File

@ -91,11 +91,64 @@ static void diya_input_class_init(DiyaInputClass *class)
// gobject_class->set_property = diya_input_set_property; // gobject_class->set_property = diya_input_set_property;
// gobject_class->get_property = diya_input_get_property; // gobject_class->get_property = diya_input_get_property;
base_class->to_string = diya_input_to_string; base_class->to_string = diya_input_to_string;
g_signal_new(DIYA_SIGNAL_INPUT_KEYBOARD_ENTER,
DIYA_TYPE_SHELL,
G_SIGNAL_DETAILED |
G_SIGNAL_ACTION |
G_SIGNAL_RUN_FIRST,
0,
NULL,
NULL,
NULL,
G_TYPE_NONE,
1,
G_TYPE_POINTER);
g_signal_new(DIYA_SIGNAL_INPUT_KEYBOARD_LEAVE,
DIYA_TYPE_SHELL,
G_SIGNAL_DETAILED |
G_SIGNAL_ACTION |
G_SIGNAL_RUN_FIRST,
0,
NULL,
NULL,
NULL,
G_TYPE_NONE,
0);
g_signal_new(DIYA_SIGNAL_INPUT_KEY_PRESSED,
DIYA_TYPE_SHELL,
G_SIGNAL_DETAILED |
G_SIGNAL_ACTION |
G_SIGNAL_RUN_FIRST,
0,
NULL,
NULL,
NULL,
G_TYPE_NONE,
3,
G_TYPE_UINT,
G_TYPE_UINT,
G_TYPE_UINT);
g_signal_new(DIYA_SIGNAL_INPUT_KEY_RELEASED,
DIYA_TYPE_SHELL,
G_SIGNAL_DETAILED |
G_SIGNAL_ACTION |
G_SIGNAL_RUN_FIRST,
0,
NULL,
NULL,
NULL,
G_TYPE_NONE,
3,
G_TYPE_UINT,
G_TYPE_UINT,
G_TYPE_UINT);
} }
static void wl_keyboard_keymap(void *data, struct wl_keyboard *keyboard, uint32_t format, int32_t fd, uint32_t size) static void wl_keyboard_keymap(void *data, struct wl_keyboard *keyboard, uint32_t format, int32_t fd, uint32_t size)
{ {
(void) keyboard; (void)keyboard;
DiyaInput *self = data; DiyaInput *self = data;
assert(format == WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1); assert(format == WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1);
char *map_shm = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0); char *map_shm = mmap(NULL, size, PROT_READ, MAP_SHARED, fd, 0);
@ -115,9 +168,9 @@ static void wl_keyboard_enter(void *data, struct wl_keyboard *keyboard,
uint32_t serial, struct wl_surface *surface, uint32_t serial, struct wl_surface *surface,
struct wl_array *keys) struct wl_array *keys)
{ {
(void) keyboard; (void)keyboard;
(void) serial; (void)serial;
(void) surface; (void)surface;
DiyaInput *self = data; DiyaInput *self = data;
g_warning("keyboard enter; keys pressed are:"); g_warning("keyboard enter; keys pressed are:");
uint32_t *key; uint32_t *key;
@ -135,9 +188,9 @@ static void wl_keyboard_enter(void *data, struct wl_keyboard *keyboard,
static void wl_keyboard_key(void *data, struct wl_keyboard *keyboard, static void wl_keyboard_key(void *data, struct wl_keyboard *keyboard,
uint32_t serial, uint32_t time, uint32_t key, uint32_t state) uint32_t serial, uint32_t time, uint32_t key, uint32_t state)
{ {
(void) keyboard; (void)keyboard;
(void) serial; (void)serial;
(void) time; (void)time;
DiyaInput *self = data; DiyaInput *self = data;
char buf[128]; char buf[128];
uint32_t keycode = key + 8; uint32_t keycode = key + 8;
@ -152,10 +205,10 @@ static void wl_keyboard_key(void *data, struct wl_keyboard *keyboard,
static void wl_keyboard_leave(void *data, struct wl_keyboard *keyboard, static void wl_keyboard_leave(void *data, struct wl_keyboard *keyboard,
uint32_t serial, struct wl_surface *surface) uint32_t serial, struct wl_surface *surface)
{ {
(void) data; (void)data;
(void) keyboard; (void)keyboard;
(void) serial; (void)serial;
(void) surface; (void)surface;
g_warning("keyboard leave"); g_warning("keyboard leave");
} }
@ -164,18 +217,18 @@ static void wl_keyboard_modifiers(void *data, struct wl_keyboard *keyboard,
uint32_t mods_latched, uint32_t mods_locked, uint32_t mods_latched, uint32_t mods_locked,
uint32_t group) uint32_t group)
{ {
(void) keyboard; (void)keyboard;
(void) serial; (void)serial;
DiyaInput *self = data; DiyaInput *self = data;
xkb_state_update_mask(self->xkb_state,mods_depressed, mods_latched, mods_locked, 0, 0, group); xkb_state_update_mask(self->xkb_state, mods_depressed, mods_latched, mods_locked, 0, 0, group);
} }
static void wl_keyboard_repeat_info(void *data, struct wl_keyboard *keyboard,int32_t rate, int32_t delay) static void wl_keyboard_repeat_info(void *data, struct wl_keyboard *keyboard, int32_t rate, int32_t delay)
{ {
(void) data; (void)data;
(void) keyboard; (void)keyboard;
(void) rate; (void)rate;
(void) delay; (void)delay;
} }
static const struct wl_keyboard_listener wl_keyboard_listener = { static const struct wl_keyboard_listener wl_keyboard_listener = {
@ -206,7 +259,7 @@ static void wl_seat_capabilities(void *data, struct wl_seat *seat, uint32_t capa
static void wl_seat_name(void *data, struct wl_seat *seat, const char *name) static void wl_seat_name(void *data, struct wl_seat *seat, const char *name)
{ {
(void) seat; (void)seat;
DiyaInput *self = data; DiyaInput *self = data;
if (self->name) if (self->name)
{ {

View File

@ -3,6 +3,11 @@
#include "shell.h" #include "shell.h"
#define DIYA_SIGNAL_INPUT_KEYBOARD_ENTER "keyboard-enter"
#define DIYA_SIGNAL_INPUT_KEYBOARD_LEAVE "keyboard-leave"
#define DIYA_SIGNAL_INPUT_KEY_PRESSED "key-pressed"
#define DIYA_SIGNAL_INPUT_KEY_RELEASED "key-released"
#define DIYA_TYPE_INPUT (diya_input_get_type ()) #define DIYA_TYPE_INPUT (diya_input_get_type ())
G_DECLARE_FINAL_TYPE (DiyaInput, diya_input, DIYA, INPUT, DiyaShellObject) G_DECLARE_FINAL_TYPE (DiyaInput, diya_input, DIYA, INPUT, DiyaShellObject)

View File

@ -186,8 +186,8 @@ void diya_session_shell_launcher_init(DiyaSessionShell * shell)
gtk_window_present (GTK_WINDOW (taskbar)); gtk_window_present (GTK_WINDOW (taskbar));
g_signal_connect (shell, "foreign-window-changed", G_CALLBACK (on_foreign_window_change), NULL); g_signal_connect (shell, DIYA_SIGNAL_FOREIGN_WINDOW_CHANGED, G_CALLBACK (on_foreign_window_change), NULL);
g_signal_connect (shell, "foreign-window-removed", G_CALLBACK (on_foreign_window_removed), NULL); g_signal_connect (shell, DIYA_SIGNAL_FOREIGN_WINDOW_REMOVED, G_CALLBACK (on_foreign_window_removed), NULL);
GList *apps = g_app_info_get_all (); GList *apps = g_app_info_get_all ();
GList * l; GList * l;

View File

@ -103,6 +103,7 @@ static void diya_session_shell_startup(DiyaShell* shell)
static void diya_session_shell_active(DiyaShell* shell) static void diya_session_shell_active(DiyaShell* shell)
{ {
//(void) shell;
diya_shell_monitor_input(shell); diya_shell_monitor_input(shell);
} }
@ -128,7 +129,7 @@ static void diya_session_shell_class_init(DiyaSessionShellClass *class)
g_object_class_install_properties (gobject_class, N_PROPERTIES, shell_properties); g_object_class_install_properties (gobject_class, N_PROPERTIES, shell_properties);
g_signal_new("foreign-window-changed", g_signal_new(DIYA_SIGNAL_FOREIGN_WINDOW_CHANGED,
DIYA_TYPE_SESSION_SHELL, DIYA_TYPE_SESSION_SHELL,
G_SIGNAL_DETAILED | G_SIGNAL_DETAILED |
G_SIGNAL_ACTION | G_SIGNAL_ACTION |
@ -140,7 +141,7 @@ static void diya_session_shell_class_init(DiyaSessionShellClass *class)
G_TYPE_NONE, G_TYPE_NONE,
1, 1,
G_TYPE_POINTER); G_TYPE_POINTER);
g_signal_new("foreign-window-removed", g_signal_new(DIYA_SIGNAL_FOREIGN_WINDOW_REMOVED,
DIYA_TYPE_SESSION_SHELL, DIYA_TYPE_SESSION_SHELL,
G_SIGNAL_DETAILED | G_SIGNAL_DETAILED |
G_SIGNAL_ACTION | G_SIGNAL_ACTION |
@ -152,7 +153,7 @@ static void diya_session_shell_class_init(DiyaSessionShellClass *class)
G_TYPE_NONE, G_TYPE_NONE,
1, 1,
G_TYPE_POINTER); G_TYPE_POINTER);
g_signal_new("session-locked", g_signal_new(DIYA_SIGNAL_SESSION_LOCKED,
DIYA_TYPE_SESSION_SHELL, DIYA_TYPE_SESSION_SHELL,
G_SIGNAL_DETAILED | G_SIGNAL_DETAILED |
G_SIGNAL_ACTION | G_SIGNAL_ACTION |
@ -163,7 +164,7 @@ static void diya_session_shell_class_init(DiyaSessionShellClass *class)
NULL, NULL,
G_TYPE_NONE, G_TYPE_NONE,
0); 0);
g_signal_new("session-unlocked", g_signal_new(DIYA_SIGNAL_SESSION_UNLOCKED,
DIYA_TYPE_SESSION_SHELL, DIYA_TYPE_SESSION_SHELL,
G_SIGNAL_DETAILED | G_SIGNAL_DETAILED |
G_SIGNAL_ACTION | G_SIGNAL_ACTION |
@ -180,24 +181,14 @@ static void on_session_locked(GtkSessionLockInstance *lock, DiyaSessionShell *sh
(void)lock; (void)lock;
assert(shell); assert(shell);
g_message("Session locked successfully"); g_message("Session locked successfully");
g_signal_emit_by_name(shell, "session-locked"); g_signal_emit_by_name(shell, DIYA_SIGNAL_SESSION_LOCKED);
} }
/*
static void failed(GtkSessionLockInstance *lock, void *data) {
(void)lock;
(void)data;
g_critical("The session could not be locked");
g_application_quit(G_APPLICATION(app));
}
*/
static void on_session_unlocked(GtkSessionLockInstance *lock, DiyaSessionShell *shell) { static void on_session_unlocked(GtkSessionLockInstance *lock, DiyaSessionShell *shell) {
(void)lock; (void)lock;
assert(shell); assert(shell);
g_message("Session unlocked"); g_message("Session unlocked");
g_signal_emit_by_name(shell, "session-unlocked"); g_signal_emit_by_name(shell, DIYA_SIGNAL_SESSION_UNLOCKED);
} }
static void diya_session_shell_init(DiyaSessionShell *self) static void diya_session_shell_init(DiyaSessionShell *self)

View File

@ -5,6 +5,11 @@
#include "shell.h" #include "shell.h"
#include "base.h" #include "base.h"
#define DIYA_SIGNAL_FOREIGN_WINDOW_CHANGED "foreign-window-changed"
#define DIYA_SIGNAL_FOREIGN_WINDOW_REMOVED "foreign-window-removed"
#define DIYA_SIGNAL_SESSION_LOCKED "session-locked"
#define DIYA_SIGNAL_SESSION_UNLOCKED "session-unlocked"
#define DIYA_TYPE_SESSION_SHELL (diya_session_shell_get_type ()) #define DIYA_TYPE_SESSION_SHELL (diya_session_shell_get_type ())
G_DECLARE_FINAL_TYPE (DiyaSessionShell, diya_session_shell, DIYA, SESSION_SHELL, DiyaShell) G_DECLARE_FINAL_TYPE (DiyaSessionShell, diya_session_shell, DIYA, SESSION_SHELL, DiyaShell)

View File

@ -19,7 +19,7 @@ static void session_unlocked(DiyaSessionShell* shell, void* data)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
DiyaSessionShell *shell = DIYA_SESSION_SHELL(g_object_new(DIYA_TYPE_SESSION_SHELL, "name","dev.iohub.diya.session-shell", NULL)); DiyaSessionShell *shell = DIYA_SESSION_SHELL(g_object_new(DIYA_TYPE_SESSION_SHELL, "name","dev.iohub.diya.session-shell", NULL));
g_signal_connect(shell, "session-locked", G_CALLBACK(session_locked), NULL); g_signal_connect(shell, DIYA_SIGNAL_SESSION_LOCKED, G_CALLBACK(session_locked), NULL);
g_signal_connect(shell, "session-unlocked", G_CALLBACK(session_unlocked), NULL); g_signal_connect(shell, DIYA_SIGNAL_SESSION_UNLOCKED, G_CALLBACK(session_unlocked), NULL);
return diya_shell_run(DIYA_SHELL(shell), argc, argv); return diya_shell_run(DIYA_SHELL(shell), argc, argv);
} }

View File

@ -5,7 +5,7 @@
#include "input.h" #include "input.h"
#include "files-monior.h" #include "files-monior.h"
#define diya_shell_config_css_file(priv) (g_strconcat(g_get_user_config_dir(), "/diya/themes/", priv->theme?priv->theme:"default", "/", priv->name, ".css", NULL)) #define diya_shell_config_css_file(priv) (g_strconcat(g_get_user_config_dir(), "/diya/themes/", priv->theme ? priv->theme : "default", "/", priv->name, ".css", NULL))
enum enum
{ {
@ -48,7 +48,7 @@ static void diya_shell_dispose(GObject *object)
g_free(priv->name); g_free(priv->name);
priv->name = NULL; priv->name = NULL;
} }
if(priv->theme) if (priv->theme)
{ {
g_free(priv->theme); g_free(priv->theme);
priv->name = NULL; priv->name = NULL;
@ -131,7 +131,7 @@ static void diya_shell_reload_theme(DiyaShell *shell)
} }
} }
void diya_shell_reload(DiyaShell* self) void diya_shell_reload(DiyaShell *self)
{ {
diya_shell_reload_theme(self); diya_shell_reload_theme(self);
} }
@ -154,8 +154,8 @@ void on_diya_shell_theme_file_changed(GFileMonitor *monitor, GFile *file, GFile
case G_FILE_MONITOR_EVENT_RENAMED: case G_FILE_MONITOR_EVENT_RENAMED:
case G_FILE_MONITOR_EVENT_MOVED_IN: case G_FILE_MONITOR_EVENT_MOVED_IN:
case G_FILE_MONITOR_EVENT_MOVED_OUT: case G_FILE_MONITOR_EVENT_MOVED_OUT:
//case G_FILE_MONITOR_EVENT_CHANGED: // case G_FILE_MONITOR_EVENT_CHANGED:
//case G_FILE_MONITOR_EVENT_CREATED: // case G_FILE_MONITOR_EVENT_CREATED:
diya_shell_reload_theme(shell); diya_shell_reload_theme(shell);
break; break;
default: default:
@ -177,8 +177,8 @@ static void on_gtk_app_startup(GtkApplication *app, void *data)
DiyaShellClass *class = DIYA_SHELL_GET_CLASS(shell); DiyaShellClass *class = DIYA_SHELL_GET_CLASS(shell);
// read envar // read envar
const char* default_theme = g_getenv(DIYA_ENV_THEME); const char *default_theme = g_getenv(DIYA_ENV_THEME);
if(default_theme) if (default_theme)
{ {
priv->theme = g_strdup(default_theme); priv->theme = g_strdup(default_theme);
} }
@ -260,10 +260,10 @@ static void diya_shell_set_property(GObject *object, guint property_id, const GV
break; break;
case PROP_SHELL_THEME: case PROP_SHELL_THEME:
{ {
const gchar* theme = g_value_get_string(value); const gchar *theme = g_value_get_string(value);
if(!priv->theme || !g_str_equal(priv->theme, theme)) if (!priv->theme || !g_str_equal(priv->theme, theme))
{ {
if(priv->theme) if (priv->theme)
{ {
g_free(priv->theme); g_free(priv->theme);
} }
@ -374,13 +374,13 @@ int diya_shell_run(DiyaShell *shell, int argc, char **argv)
* create shell config dir if not exists * create shell config dir if not exists
*/ */
// theme dir // theme dir
gchar* path = g_strconcat(g_get_user_config_dir(), "/diya/themes/", NULL); gchar *path = g_strconcat(g_get_user_config_dir(), "/diya/themes/", NULL);
g_mkdir_with_parents((const gchar*)path,0755); g_mkdir_with_parents((const gchar *)path, 0755);
g_free(path); g_free(path);
// keymap dir // keymap dir
path = g_strconcat(g_get_user_config_dir(), "/diya/xkb/", NULL); path = g_strconcat(g_get_user_config_dir(), "/diya/xkb/", NULL);
g_mkdir_with_parents((const gchar*)path,0755); g_mkdir_with_parents((const gchar *)path, 0755);
g_free(path); g_free(path);
int status = g_application_run(G_APPLICATION(app), argc, argv); int status = g_application_run(G_APPLICATION(app), argc, argv);

View File

@ -94,19 +94,6 @@ static void diya_vkb_key_class_init(DiyaVkbKeyClass *class)
// gobject_class->set_property = diya_lock_session_set_property; // gobject_class->set_property = diya_lock_session_set_property;
// gobject_class->get_property = diya_lock_session_get_property; // gobject_class->get_property = diya_lock_session_get_property;
base_class->to_string = diya_vkb_key_to_string; base_class->to_string = diya_vkb_key_to_string;
g_signal_new("modifier-changed",
DIYA_TYPE_VIRTUAL_KEYBOARD,
G_SIGNAL_DETAILED |
G_SIGNAL_ACTION |
G_SIGNAL_RUN_FIRST,
0,
NULL,
NULL,
NULL,
G_TYPE_NONE,
0,
NULL);
} }
const gchar *diya_vkb_key_get_keycap(DiyaVkbKey *key, uint32_t shift_level) const gchar *diya_vkb_key_get_keycap(DiyaVkbKey *key, uint32_t shift_level)
@ -205,6 +192,18 @@ static void diya_virtual_keyboard_class_init(DiyaVirtualKeyboardClass *class)
// gobject_class->set_property = diya_lock_session_set_property; // gobject_class->set_property = diya_lock_session_set_property;
// gobject_class->get_property = diya_lock_session_get_property; // gobject_class->get_property = diya_lock_session_get_property;
base_class->to_string = diya_virtual_keyboard_to_string; base_class->to_string = diya_virtual_keyboard_to_string;
g_signal_new(DIYA_SIGNAL_VKB_MODIFIER_CHANGED,
DIYA_TYPE_VIRTUAL_KEYBOARD,
G_SIGNAL_DETAILED |
G_SIGNAL_ACTION |
G_SIGNAL_RUN_FIRST,
0,
NULL,
NULL,
NULL,
G_TYPE_NONE,
0,
NULL);
} }
/* /*
@ -423,7 +422,7 @@ void diya_virtual_keyboard_send_key(DiyaVirtualKeyboard *self, DiyaVkbKey* key,
} }
if(old_mods != self->key_mods) if(old_mods != self->key_mods)
{ {
g_signal_emit_by_name(self,"modifier-changed", NULL); g_signal_emit_by_name(self,DIYA_SIGNAL_VKB_MODIFIER_CHANGED, NULL);
} }
} }

View File

@ -3,6 +3,9 @@
#include "shell.h" #include "shell.h"
#define DIYA_SIGNAL_VKB_MODIFIER_CHANGED "modifier-changed"
#define DIYA_SIGNAL_VKB_KEY_PRESSED "pressed"
#define DIYA_SIGNAL_VKB_KEY_RELEASED "released"
typedef enum typedef enum
{ {
VKB_KEY_STATE_RELEASED = 0 /*WL_KEYBOARD_KEY_STATE_RELEASED*/, VKB_KEY_STATE_RELEASED = 0 /*WL_KEYBOARD_KEY_STATE_RELEASED*/,

View File

@ -60,6 +60,12 @@ static void diya_dashboard_widget_init(DiyaDashboardWidget * self)
// gtk_widget_set_can_focus(GTK_WIDGET(self), true); // gtk_widget_set_can_focus(GTK_WIDGET(self), true);
//gtk_widget_set_name(GTK_WIDGET(dashboard),NAMESPACE); //gtk_widget_set_name(GTK_WIDGET(dashboard),NAMESPACE);
//gtk_window_set_default_size(GTK_WINDOW(dashboard), 48, 48); //gtk_window_set_default_size(GTK_WINDOW(dashboard), 48, 48);
// event controller
//GtkEventController *event_controller = gtk_event_controller_key_new();
//g_signal_connect(event_controller, "key-pressed", G_CALLBACK(on_diya_dashboard_key_press), self);
// gtk_widget_add_controller(GTK_WIDGET(self), event_controller);
} }
static void diya_dashboard_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) static void diya_dashboard_set_property(GObject *object, guint property_id, const GValue *value, GParamSpec *pspec)

View File

@ -81,8 +81,8 @@ static void diya_vkb_button_init(DiyaVkbButton *self)
} }
// event handle // event handle
GtkGesture *controller = gtk_gesture_click_new(); GtkGesture *controller = gtk_gesture_click_new();
g_signal_connect(controller, "pressed", G_CALLBACK(diya_vkb_button_event), "pressed"); g_signal_connect(controller, "pressed", G_CALLBACK(diya_vkb_button_event), DIYA_SIGNAL_VKB_KEY_PRESSED);
g_signal_connect(controller, "released", G_CALLBACK(diya_vkb_button_event), "released"); g_signal_connect(controller, "released", G_CALLBACK(diya_vkb_button_event), DIYA_SIGNAL_VKB_KEY_RELEASED);
gtk_widget_add_controller(GTK_WIDGET(self), GTK_EVENT_CONTROLLER(controller)); gtk_widget_add_controller(GTK_WIDGET(self), GTK_EVENT_CONTROLLER(controller));
} }
@ -203,7 +203,7 @@ static void diya_virtual_keyboard_widget_class_init(DiyaVirtualKeyboardWidgetCla
gobject_class->dispose = diya_virtual_keyboard_widget_dispose; gobject_class->dispose = diya_virtual_keyboard_widget_dispose;
gtk_widget_class_set_css_name(GTK_WIDGET_CLASS(class), "diya-vkb"); gtk_widget_class_set_css_name(GTK_WIDGET_CLASS(class), "diya-vkb");
gtk_widget_class_set_layout_manager_type(GTK_WIDGET_CLASS(class), GTK_TYPE_GRID_LAYOUT); gtk_widget_class_set_layout_manager_type(GTK_WIDGET_CLASS(class), GTK_TYPE_GRID_LAYOUT);
g_signal_new("pressed", g_signal_new(DIYA_SIGNAL_VKB_KEY_PRESSED,
DIYA_TYPE_VKB_BUTTON, DIYA_TYPE_VKB_BUTTON,
G_SIGNAL_DETAILED | G_SIGNAL_DETAILED |
G_SIGNAL_ACTION | G_SIGNAL_ACTION |
@ -215,7 +215,7 @@ static void diya_virtual_keyboard_widget_class_init(DiyaVirtualKeyboardWidgetCla
G_TYPE_NONE, G_TYPE_NONE,
0, 0,
NULL); NULL);
g_signal_new("released", g_signal_new(DIYA_SIGNAL_VKB_KEY_RELEASED,
DIYA_TYPE_VKB_BUTTON, DIYA_TYPE_VKB_BUTTON,
G_SIGNAL_DETAILED | G_SIGNAL_DETAILED |
G_SIGNAL_ACTION | G_SIGNAL_ACTION |
@ -276,7 +276,7 @@ void diya_virtual_keyboard_widget_set_keyboard(DiyaVirtualKeyboardWidget* self,
g_debug("set button key: %s", diya_object_to_string(key)); g_debug("set button key: %s", diya_object_to_string(key));
if(diya_vkb_key_is_modifier(key)) if(diya_vkb_key_is_modifier(key))
{ {
button->mod_sig_id = g_signal_connect(self->vkb, "modifier-changed", G_CALLBACK(on_kb_modifier_changed), button); button->mod_sig_id = g_signal_connect(self->vkb, DIYA_SIGNAL_VKB_MODIFIER_CHANGED, G_CALLBACK(on_kb_modifier_changed), button);
} }
} }
diya_vkb_button_set_key(button, key); diya_vkb_button_set_key(button, key);