Revision: 1899 http://geany.svn.sourceforge.net/geany/?rev=1899&view=rev Author: ntrel Date: 2007-09-24 09:07:44 -0700 (Mon, 24 Sep 2007)
Log Message: ----------- Add msgwin_switch_tab(), msgwin_clear_tab() functions.
Modified Paths: -------------- trunk/ChangeLog trunk/src/keybindings.c trunk/src/msgwindow.c trunk/src/msgwindow.h
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-09-24 11:25:41 UTC (rev 1898) +++ trunk/ChangeLog 2007-09-24 16:07:44 UTC (rev 1899) @@ -3,6 +3,8 @@ * src/keybindings.c, src/editor.c, src/editor.h: Fix bug with 'Delete lines' when cursor is at the start of a multi-line selection. + * src/keybindings.c, src/msgwindow.c, src/msgwindow.h: + Add msgwin_switch_tab(), msgwin_clear_tab() functions.
2007-09-22 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/src/keybindings.c =================================================================== --- trunk/src/keybindings.c 2007-09-24 11:25:41 UTC (rev 1898) +++ trunk/src/keybindings.c 2007-09-24 16:07:44 UTC (rev 1899) @@ -42,10 +42,6 @@ #include "build.h" #include "tools.h" #include "navqueue.h" -// include vte.h on non-Win32 systems, else define fake vte_init -#ifdef HAVE_VTE -# include "vte.h" -#endif
const gboolean swap_alt_tab_order = FALSE; @@ -970,9 +966,7 @@
static void cb_func_switch_scribble(G_GNUC_UNUSED guint key_id) { - gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_SCRATCH); - msgwin_show_hide(TRUE); - gtk_widget_grab_focus(lookup_widget(app->window, "textview_scribble")); + msgwin_switch_tab(MSG_SCRATCH, TRUE); }
static void cb_func_switch_search_bar(G_GNUC_UNUSED guint key_id) @@ -983,15 +977,7 @@
static void cb_func_switch_vte(G_GNUC_UNUSED guint key_id) { -#ifdef HAVE_VTE - if (!vte_info.have_vte) - return; - msgwin_show_hide(TRUE); - /* the msgwin must be visible before we switch to the VTE page so that - * the font settings are applied on realization */ - gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), MSG_VTE); - gtk_widget_grab_focus(vc->vte); -#endif + msgwin_switch_tab(MSG_VTE, TRUE); }
static void cb_func_switch_tableft(G_GNUC_UNUSED guint key_id)
Modified: trunk/src/msgwindow.c =================================================================== --- trunk/src/msgwindow.c 2007-09-24 11:25:41 UTC (rev 1898) +++ trunk/src/msgwindow.c 2007-09-24 16:07:44 UTC (rev 1899) @@ -40,6 +40,7 @@ #include "filetypes.h" #include "build.h" #include "main.h" +#include "vte.h"
#include <string.h> #include <stdlib.h> @@ -335,24 +336,9 @@ on_message_treeview_clear_activate (GtkMenuItem *menuitem, gpointer user_data) { - GtkListStore *store; + gint tabnum = GPOINTER_TO_INT(user_data);
- switch (GPOINTER_TO_INT(user_data)) - { - case MSG_MESSAGE: - gtk_widget_set_sensitive(lookup_widget(app->window, "next_message1"), FALSE); - store = msgwindow.store_msg; - break; - - case MSG_COMPILER: - gtk_widget_set_sensitive(build_get_menu_items(-1)->item_next_error, FALSE); - store = msgwindow.store_compiler; - break; - - default: // MSG_STATUS - store = msgwindow.store_status; - } - gtk_list_store_clear(store); + msgwin_clear_tab(tabnum); }
@@ -885,3 +871,51 @@ }
+void msgwin_switch_tab(MessageWindowTabNum tabnum, gboolean show) +{ + GtkWidget *widget = NULL; // widget to focus + + switch (tabnum) + { + case MSG_SCRATCH: widget = lookup_widget(app->window, "textview_scribble"); break; +#ifdef HAVE_VTE + case MSG_VTE: widget = (vte_info.have_vte) ? vc->vte : NULL; break; +#endif + default: break; + } + + /* the msgwin must be visible before we switch to the VTE page so that + * the font settings are applied on realization */ + if (show) + msgwin_show_hide(TRUE); + gtk_notebook_set_current_page(GTK_NOTEBOOK(msgwindow.notebook), tabnum); + if (show && widget) + gtk_widget_grab_focus(widget); +} + + +void msgwin_clear_tab(MessageWindowTabNum tabnum) +{ + GtkListStore *store = NULL; + + switch (tabnum) + { + case MSG_MESSAGE: + gtk_widget_set_sensitive(lookup_widget(app->window, "next_message1"), FALSE); + store = msgwindow.store_msg; + break; + + case MSG_COMPILER: + gtk_widget_set_sensitive(build_get_menu_items(-1)->item_next_error, FALSE); + store = msgwindow.store_compiler; + break; + + case MSG_STATUS: store = msgwindow.store_status; break; + default: return; + } + if (store == NULL) + return; + gtk_list_store_clear(store); +} + +
Modified: trunk/src/msgwindow.h =================================================================== --- trunk/src/msgwindow.h 2007-09-24 11:25:41 UTC (rev 1898) +++ trunk/src/msgwindow.h 2007-09-24 16:07:44 UTC (rev 1899) @@ -34,14 +34,14 @@ COLOR_BLUE };
-enum +typedef enum { MSG_STATUS = 0, // force it to start at 0 to keep in sync with the notebook page numbers MSG_COMPILER, MSG_MESSAGE, MSG_SCRATCH, MSG_VTE, -}; +} MessageWindowTabNum;
@@ -69,7 +69,11 @@
void msgwin_show_hide(gboolean show);
+void msgwin_switch_tab(MessageWindowTabNum tabnum, gboolean show);
+void msgwin_clear_tab(MessageWindowTabNum tabnum); + + void msgwin_msg_add_fmt(gint msg_color, gint line, gint idx, const gchar *format, ...) G_GNUC_PRINTF (4, 5);
void msgwin_msg_add(gint msg_color, gint line, gint idx, const gchar *string);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.