From: Daniel Carl Date: Sat, 27 Oct 2012 11:37:19 +0000 (+0200) Subject: Added return values to all commands. X-Git-Url: https://git.owens.tech/assets/favicon.png/assets/favicon.png/git?a=commitdiff_plain;h=2fa8131db7141975c624129298636f510cc9c02b;p=vimb.git Added return values to all commands. --- diff --git a/src/command.h b/src/command.h index 27dd3f9..a51a0e4 100644 --- a/src/command.h +++ b/src/command.h @@ -4,7 +4,7 @@ #include "main.h" #include -typedef void (*Command)(const Arg* arg); +typedef gboolean (*Command)(const Arg* arg); typedef struct { const gchar* name; diff --git a/src/keybind.c b/src/keybind.c index c53b2d3..64a8dfb 100644 --- a/src/keybind.c +++ b/src/keybind.c @@ -17,11 +17,12 @@ void keybind_init(void) g_signal_connect(G_OBJECT(vp.gui.window), "key-press-event", G_CALLBACK(keybind_keypress_callback), NULL); } -void keybind_add_from_string(const gchar* str, const Mode mode) +gboolean keybind_add_from_string(const gchar* str, const Mode mode) { if (str == NULL || *str == '\0') { - return; + return FALSE; } + gboolean result; gchar* line = g_strdup(str); g_strstrip(line); @@ -43,21 +44,24 @@ void keybind_add_from_string(const gchar* str, const Mode mode) if (keybind->modkey) { g_string_append_c(modkeys, keybind->modkey); } + result = TRUE; } else { - fprintf(stderr, "could not add keybind from '%s'", line); + result = FALSE; } g_strfreev(string); g_free(line); + + return result; } -void keybind_remove_from_string(const gchar* str, const Mode mode) +gboolean keybind_remove_from_string(const gchar* str, const Mode mode) { gchar* line = NULL; Keybind keybind = {0}; if (str == NULL || *str == '\0') { - return; + return FALSE; } line = g_strdup(str); g_strstrip(line); @@ -70,6 +74,7 @@ void keybind_remove_from_string(const gchar* str, const Mode mode) keys = g_slist_delete_link(keys, link); } /* TODO remove eventually no more used modkeys */ + return TRUE; } static GSList* keybind_find(int mode, guint modkey, guint modmask, guint keyval) diff --git a/src/keybind.h b/src/keybind.h index 021f0de..eb3629e 100644 --- a/src/keybind.h +++ b/src/keybind.h @@ -21,7 +21,7 @@ typedef struct { } Keybind; void keybind_init(void); -void keybind_add_from_string(const gchar* str, const Mode mode); -void keybind_remove_from_string(const gchar* str, const Mode mode); +gboolean keybind_add_from_string(const gchar* str, const Mode mode); +gboolean keybind_remove_from_string(const gchar* str, const Mode mode); #endif /* end of include guard: KEYBIND_H */ diff --git a/src/main.c b/src/main.c index e6bd1fa..bd8b23b 100644 --- a/src/main.c +++ b/src/main.c @@ -27,6 +27,7 @@ static void vp_set_widget_font(GtkWidget* widget, const gchar* font_definition, static void vp_setup_settings(void); static void vp_setup_signals(void); static gboolean vp_load_uri(const Arg* arg); +static void vp_clean_up(void); static void vp_webview_load_status_cb(WebKitWebView* view, GParamSpec* pspec, gpointer user_data) { @@ -164,7 +165,7 @@ static gboolean vp_load_uri(const Arg* arg) return TRUE; } -void vp_navigate(const Arg* arg) +gboolean vp_navigate(const Arg* arg) { if (arg->i <= VP_NAVIG_FORWARD) { /* TODO allow to set a count for the navigation */ @@ -178,9 +179,11 @@ void vp_navigate(const Arg* arg) } else { webkit_web_view_stop_loading(vp.gui.webview); } + + return TRUE; } -void vp_scroll(const Arg* arg) +gboolean vp_scroll(const Arg* arg) { GtkAdjustment *adjust = (arg->i & VP_SCROLL_AXIS_H) ? vp.gui.adjust_h : vp.gui.adjust_v; @@ -209,15 +212,19 @@ void vp_scroll(const Arg* arg) /* jump to bottom */ gtk_adjustment_set_value(adjust, gtk_adjustment_get_lower(adjust)); } + + return TRUE; } -void vp_close_browser(const Arg* arg) +gboolean vp_close_browser(const Arg* arg) { vp_clean_up(); gtk_main_quit(); + + return TRUE; } -void vp_clean_up(void) +static void vp_clean_up(void) { if (vp.behave.commands) { g_hash_table_destroy(vp.behave.commands); @@ -228,24 +235,26 @@ void vp_clean_up(void) } } -void vp_view_source(const Arg* arg) +gboolean vp_view_source(const Arg* arg) { gboolean mode = webkit_web_view_get_view_source_mode(vp.gui.webview); webkit_web_view_set_view_source_mode(vp.gui.webview, !mode); webkit_web_view_reload(vp.gui.webview); + + return TRUE; } -void vp_map(const Arg* arg) +gboolean vp_map(const Arg* arg) { - keybind_add_from_string(arg->s, arg->i); + return keybind_add_from_string(arg->s, arg->i); } -void vp_unmap(const Arg* arg) +gboolean vp_unmap(const Arg* arg) { - keybind_remove_from_string(arg->s, arg->i); + return keybind_remove_from_string(arg->s, arg->i); } -void vp_set_mode(const Arg* arg) +gboolean vp_set_mode(const Arg* arg) { vp.state.mode = arg->i; vp.state.modkey = vp.state.count = 0; @@ -274,9 +283,11 @@ void vp_set_mode(const Arg* arg) } vp_update_statusbar(); + + return TRUE; } -void vp_input(const Arg* arg) +gboolean vp_input(const Arg* arg) { gint pos = 0; const gchar* url; @@ -299,12 +310,12 @@ void vp_input(const Arg* arg) gtk_editable_set_position(GTK_EDITABLE(vp.gui.inputbox), -1); Arg a = {VP_MODE_COMMAND}; - vp_set_mode(&a); + return vp_set_mode(&a); } -void vp_open(const Arg* arg) +gboolean vp_open(const Arg* arg) { - vp_load_uri(arg); + return vp_load_uri(arg); } void vp_update_urlbar(const gchar* uri) diff --git a/src/main.h b/src/main.h index 33be7f3..ca20c91 100644 --- a/src/main.h +++ b/src/main.h @@ -140,15 +140,14 @@ extern VpCore vp; void vp_update_statusbar(void); void vp_update_urlbar(const gchar* uri); void vp_echo(const MessageType type, const gchar *message); -void vp_navigate(const Arg* arg); -void vp_scroll(const Arg* arg); -void vp_close_browser(const Arg* arg); -void vp_clean_up(void); -void vp_view_source(const Arg* arg); -void vp_map(const Arg* arg); -void vp_unmap(const Arg* arg); -void vp_set_mode(const Arg* arg); -void vp_input(const Arg* arg); -void vp_open(const Arg* arg); +gboolean vp_navigate(const Arg* arg); +gboolean vp_scroll(const Arg* arg); +gboolean vp_close_browser(const Arg* arg); +gboolean vp_view_source(const Arg* arg); +gboolean vp_map(const Arg* arg); +gboolean vp_unmap(const Arg* arg); +gboolean vp_set_mode(const Arg* arg); +gboolean vp_input(const Arg* arg); +gboolean vp_open(const Arg* arg); #endif /* end of include guard: MAIN_H */