Revision: 2876 http://geany.svn.sourceforge.net/geany/?rev=2876&view=rev Author: eht16 Date: 2008-08-11 18:16:35 +0000 (Mon, 11 Aug 2008)
Log Message: ----------- Move geany_debug() into log.c. Use GLib log/print handlers to log messages/warnings into a string for later usage. Add a debug messages window, accessible through the help menu to easily view debug messages/warnings. This might replace the extra console window on Windows.
Modified Paths: -------------- trunk/ChangeLog trunk/geany.glade trunk/src/Makefile.am trunk/src/callbacks.c trunk/src/callbacks.h trunk/src/interface.c trunk/src/main.c trunk/src/makefile.win32 trunk/wscript
Added Paths: ----------- trunk/src/log.c trunk/src/log.h
Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/ChangeLog 2008-08-11 18:16:35 UTC (rev 2876) @@ -1,3 +1,16 @@ +2008-08-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + + * geany.glade, wscript, src/Makefile.am, src/makefile.win32, + src/callbacks.c, src/callbacks.h, src/interface.c, src/log.c, + src/log.h, src/main.c: + Move geany_debug() into log.c. + Use GLib log/print handlers to log messages/warnings into a + string for later usage. + Add a debug messages window, accessable through the help menu to + easily view debug messages/warnings. + This might replace the extra console window on Windows. + + 2008-08-11 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
* src/editor.c:
Modified: trunk/geany.glade =================================================================== --- trunk/geany.glade 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/geany.glade 2008-08-11 18:16:35 UTC (rev 2876) @@ -58,7 +58,7 @@ <property name="use_underline">True</property>
<child internal-child="image"> - <widget class="GtkImage" id="image2576"> + <widget class="GtkImage" id="image2595"> <property name="visible">True</property> <property name="stock">gtk-new</property> <property name="icon_size">1</property> @@ -148,7 +148,7 @@ <signal name="activate" handler="on_save_all1_activate" last_modification_time="Thu, 02 Jun 2005 14:15:30 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2577"> + <widget class="GtkImage" id="image2596"> <property name="visible">True</property> <property name="stock">gtk-save</property> <property name="icon_size">1</property> @@ -169,7 +169,7 @@ <signal name="activate" handler="on_toolbutton23_clicked" last_modification_time="Mon, 24 Jul 2006 19:26:04 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2578"> + <widget class="GtkImage" id="image2597"> <property name="visible">True</property> <property name="stock">gtk-revert-to-saved</property> <property name="icon_size">1</property> @@ -189,7 +189,7 @@ <property name="use_underline">True</property>
<child internal-child="image"> - <widget class="GtkImage" id="image2579"> + <widget class="GtkImage" id="image2598"> <property name="visible">True</property> <property name="stock">gtk-revert-to-saved</property> <property name="icon_size">1</property> @@ -277,7 +277,7 @@ <signal name="activate" handler="on_close_other_documents1_activate" last_modification_time="Fri, 27 Jun 2008 15:19:28 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2580"> + <widget class="GtkImage" id="image2599"> <property name="visible">True</property> <property name="stock">gtk-close</property> <property name="icon_size">1</property> @@ -299,7 +299,7 @@ <signal name="activate" handler="on_close_all1_activate" last_modification_time="Thu, 02 Jun 2005 14:15:30 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2581"> + <widget class="GtkImage" id="image2600"> <property name="visible">True</property> <property name="stock">gtk-close</property> <property name="icon_size">1</property> @@ -498,7 +498,7 @@ <signal name="activate" handler="on_menu_increase_indent1_activate" last_modification_time="Tue, 01 Aug 2006 10:28:54 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2582"> + <widget class="GtkImage" id="image2601"> <property name="visible">True</property> <property name="stock">gtk-indent</property> <property name="icon_size">1</property> @@ -519,7 +519,7 @@ <signal name="activate" handler="on_menu_decrease_indent1_activate" last_modification_time="Tue, 01 Aug 2006 10:28:54 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2583"> + <widget class="GtkImage" id="image2602"> <property name="visible">True</property> <property name="stock">gtk-unindent</property> <property name="icon_size">1</property> @@ -575,7 +575,7 @@ <property name="use_underline">True</property>
<child internal-child="image"> - <widget class="GtkImage" id="image2584"> + <widget class="GtkImage" id="image2603"> <property name="visible">True</property> <property name="stock">gtk-add</property> <property name="icon_size">1</property> @@ -660,7 +660,7 @@ <property name="use_underline">True</property>
<child internal-child="image"> - <widget class="GtkImage" id="image2585"> + <widget class="GtkImage" id="image2604"> <property name="visible">True</property> <property name="stock">gtk-add</property> <property name="icon_size">1</property> @@ -692,7 +692,7 @@ <property name="use_underline">True</property>
<child internal-child="image"> - <widget class="GtkImage" id="image2586"> + <widget class="GtkImage" id="image2605"> <property name="visible">True</property> <property name="stock">gtk-add</property> <property name="icon_size">1</property> @@ -790,7 +790,7 @@ <signal name="activate" handler="on_replace1_activate" last_modification_time="Sun, 23 Oct 2005 13:22:36 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2587"> + <widget class="GtkImage" id="image2606"> <property name="visible">True</property> <property name="stock">gtk-find-and-replace</property> <property name="icon_size">1</property> @@ -865,7 +865,7 @@ <signal name="activate" handler="on_go_to_line1_activate" last_modification_time="Tue, 23 May 2006 17:10:49 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2588"> + <widget class="GtkImage" id="image2607"> <property name="visible">True</property> <property name="stock">gtk-jump-to</property> <property name="icon_size">1</property> @@ -900,7 +900,7 @@ <signal name="activate" handler="on_change_font1_activate" last_modification_time="Fri, 22 Apr 2005 18:58:45 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2589"> + <widget class="GtkImage" id="image2608"> <property name="visible">True</property> <property name="stock">gtk-select-font</property> <property name="icon_size">1</property> @@ -1104,7 +1104,7 @@ <property name="visible">True</property> <property name="label" translatable="yes">T_abs and Spaces</property> <property name="use_underline">True</property> - <property name="active">False</property> + <property name="active">True</property> <property name="group">tabs1</property> <signal name="activate" handler="on_tabs_and_spaces1_activate" last_modification_time="Thu, 31 Jul 2008 14:23:06 GMT"/> </widget> @@ -1340,7 +1340,7 @@ <signal name="activate" handler="on_project_new1_activate" last_modification_time="Thu, 18 Jan 2007 22:16:24 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2590"> + <widget class="GtkImage" id="image2609"> <property name="visible">True</property> <property name="stock">gtk-new</property> <property name="icon_size">1</property> @@ -1361,7 +1361,7 @@ <signal name="activate" handler="on_project_open1_activate" last_modification_time="Mon, 15 Jan 2007 17:34:17 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2591"> + <widget class="GtkImage" id="image2610"> <property name="visible">True</property> <property name="stock">gtk-open</property> <property name="icon_size">1</property> @@ -1382,7 +1382,7 @@ <signal name="activate" handler="on_project_close1_activate" last_modification_time="Mon, 15 Jan 2007 17:34:17 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2592"> + <widget class="GtkImage" id="image2611"> <property name="visible">True</property> <property name="stock">gtk-close</property> <property name="icon_size">1</property> @@ -1441,7 +1441,7 @@ <signal name="activate" handler="on_show_color_chooser1_activate" last_modification_time="Wed, 22 Jun 2005 18:10:21 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2593"> + <widget class="GtkImage" id="image2612"> <property name="visible">True</property> <property name="stock">gtk-select-color</property> <property name="icon_size">1</property> @@ -1483,7 +1483,7 @@ <signal name="activate" handler="on_menu_reload_configuration1_activate" last_modification_time="Mon, 30 Jun 2008 16:19:40 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2594"> + <widget class="GtkImage" id="image2613"> <property name="visible">True</property> <property name="stock">gtk-refresh</property> <property name="icon_size">1</property> @@ -1517,7 +1517,7 @@ <signal name="activate" handler="on_help1_activate" last_modification_time="Sun, 24 Jul 2005 15:23:11 GMT"/>
<child internal-child="image"> - <widget class="GtkImage" id="image2595"> + <widget class="GtkImage" id="image2614"> <property name="visible">True</property> <property name="stock">gtk-help</property> <property name="icon_size">1</property> @@ -1550,6 +1550,15 @@ </child>
<child> + <widget class="GtkMenuItem" id="debug_messages1"> + <property name="visible">True</property> + <property name="label" translatable="yes">_Debug Messages</property> + <property name="use_underline">True</property> + <signal name="activate" handler="on_debug_messages1_activate" last_modification_time="Mon, 11 Aug 2008 16:04:45 GMT"/> + </widget> + </child> + + <child> <widget class="GtkSeparatorMenuItem" id="separator16"> <property name="visible">True</property> </widget>
Modified: trunk/src/Makefile.am =================================================================== --- trunk/src/Makefile.am 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/src/Makefile.am 2008-08-11 18:16:35 UTC (rev 2876) @@ -22,6 +22,7 @@ interface.c interface.h \ keybindings.c keybindings.h \ keyfile.c keyfile.h \ + log.c log.h \ main.c main.h geany.h \ msgwindow.c msgwindow.h \ navqueue.c navqueue.h \
Modified: trunk/src/callbacks.c =================================================================== --- trunk/src/callbacks.c 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/src/callbacks.c 2008-08-11 18:16:35 UTC (rev 2876) @@ -64,6 +64,7 @@ #include "navqueue.h" #include "printing.h" #include "plugins.h" +#include "log.h"
#include "geanyobject.h"
@@ -2212,3 +2213,11 @@ gtk_widget_set_sensitive(check, !active); }
+ +void +on_debug_messages1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + log_show_debug_messages_dialog(); +} +
Modified: trunk/src/callbacks.h =================================================================== --- trunk/src/callbacks.h 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/src/callbacks.h 2008-08-11 18:16:35 UTC (rev 2876) @@ -634,3 +634,7 @@ void on_radio_indent_both_toggled (GtkToggleButton *togglebutton, gpointer user_data); + +void +on_debug_messages1_activate (GtkMenuItem *menuitem, + gpointer user_data);
Modified: trunk/src/interface.c =================================================================== --- trunk/src/interface.c 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/src/interface.c 2008-08-11 18:16:35 UTC (rev 2876) @@ -37,7 +37,7 @@ GtkWidget *file1_menu; GtkWidget *menu_new1; GtkWidget *menu_new_with_template1; - GtkWidget *image2576; + GtkWidget *image2595; GtkWidget *menu_new_with_template1_menu; GtkWidget *invisible2; GtkWidget *separator12; @@ -48,11 +48,11 @@ GtkWidget *menu_save1; GtkWidget *menu_save_as1; GtkWidget *menu_save_all1; - GtkWidget *image2577; + GtkWidget *image2596; GtkWidget *menu_reload1; - GtkWidget *image2578; + GtkWidget *image2597; GtkWidget *menu_reload_as1; - GtkWidget *image2579; + GtkWidget *image2598; GtkWidget *menu_reload_as1_menu; GtkWidget *invisible7; GtkWidget *separator21; @@ -63,9 +63,9 @@ GtkWidget *separator14; GtkWidget *menu_close1; GtkWidget *close_other_documents1; - GtkWidget *image2580; + GtkWidget *image2599; GtkWidget *menu_close_all1; - GtkWidget *image2581; + GtkWidget *image2600; GtkWidget *menu_separatormenuitem1; GtkWidget *menu_quit1; GtkWidget *edit1; @@ -90,16 +90,16 @@ GtkWidget *menu_duplicate_line1; GtkWidget *separator29; GtkWidget *menu_increase_indent1; - GtkWidget *image2582; + GtkWidget *image2601; GtkWidget *menu_decrease_indent1; - GtkWidget *image2583; + GtkWidget *image2602; GtkWidget *separator37; GtkWidget *send_selection_to2; GtkWidget *send_selection_to2_menu; GtkWidget *invisible13; GtkWidget *separator18; GtkWidget *add_comments1; - GtkWidget *image2584; + GtkWidget *image2603; GtkWidget *add_comments1_menu; GtkWidget *menu_add_changelog_entry1; GtkWidget *insert_file_header1; @@ -108,11 +108,11 @@ GtkWidget *insert_gpl_notice2; GtkWidget *insert_bsd_license_notice2; GtkWidget *insert_date1; - GtkWidget *image2585; + GtkWidget *image2604; GtkWidget *insert_date1_menu; GtkWidget *invisible8; GtkWidget *insert_include2; - GtkWidget *image2586; + GtkWidget *image2605; GtkWidget *insert_include2_menu; GtkWidget *invisible4; GtkWidget *separator9; @@ -124,7 +124,7 @@ GtkWidget *find_previous1; GtkWidget *find_in_files1; GtkWidget *replace1; - GtkWidget *image2587; + GtkWidget *image2606; GtkWidget *separator33; GtkWidget *find_nextsel1; GtkWidget *find_prevsel1; @@ -133,11 +133,11 @@ GtkWidget *previous_message1; GtkWidget *separator32; GtkWidget *go_to_line1; - GtkWidget *image2588; + GtkWidget *image2607; GtkWidget *menu_view1; GtkWidget *menu_view1_menu; GtkWidget *menu_change_font1; - GtkWidget *image2589; + GtkWidget *image2608; GtkWidget *menu_separator4; GtkWidget *menu_toggle_all_additional_widgets1; GtkWidget *menu_fullscreen1; @@ -190,28 +190,29 @@ GtkWidget *menu_project1; GtkWidget *menu_project1_menu; GtkWidget *project_new1; - GtkWidget *image2590; + GtkWidget *image2609; GtkWidget *project_open1; - GtkWidget *image2591; + GtkWidget *image2610; GtkWidget *project_close1; - GtkWidget *image2592; + GtkWidget *image2611; GtkWidget *separator34; GtkWidget *project_properties1; GtkWidget *menu_build1; GtkWidget *tools1; GtkWidget *tools1_menu; GtkWidget *menu_choose_color1; - GtkWidget *image2593; + GtkWidget *image2612; GtkWidget *menu_count_words1; GtkWidget *load_tags1; GtkWidget *menu_reload_configuration1; - GtkWidget *image2594; + GtkWidget *image2613; GtkWidget *menu_help1; GtkWidget *menu_help1_menu; GtkWidget *help1; - GtkWidget *image2595; + GtkWidget *image2614; GtkWidget *keyboard_shortcuts1; GtkWidget *website1; + GtkWidget *debug_messages1; GtkWidget *separator16; GtkWidget *menu_info1; GtkWidget *toolbar1; @@ -312,9 +313,9 @@ gtk_widget_show (menu_new_with_template1); gtk_container_add (GTK_CONTAINER (file1_menu), menu_new_with_template1);
- image2576 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2576); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_new_with_template1), image2576); + image2595 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2595); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_new_with_template1), image2595);
menu_new_with_template1_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_new_with_template1), menu_new_with_template1_menu); @@ -357,25 +358,25 @@ gtk_container_add (GTK_CONTAINER (file1_menu), menu_save_all1); gtk_tooltips_set_tip (tooltips, menu_save_all1, _("Saves all open files"), NULL);
- image2577 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2577); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_save_all1), image2577); + image2596 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2596); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_save_all1), image2596);
menu_reload1 = gtk_image_menu_item_new_with_mnemonic (_("_Reload")); gtk_widget_show (menu_reload1); gtk_container_add (GTK_CONTAINER (file1_menu), menu_reload1);
- image2578 = gtk_image_new_from_stock ("gtk-revert-to-saved", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2578); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_reload1), image2578); + image2597 = gtk_image_new_from_stock ("gtk-revert-to-saved", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2597); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_reload1), image2597);
menu_reload_as1 = gtk_image_menu_item_new_with_mnemonic (_("R_eload As")); gtk_widget_show (menu_reload_as1); gtk_container_add (GTK_CONTAINER (file1_menu), menu_reload_as1);
- image2579 = gtk_image_new_from_stock ("gtk-revert-to-saved", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2579); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_reload_as1), image2579); + image2598 = gtk_image_new_from_stock ("gtk-revert-to-saved", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2598); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_reload_as1), image2598);
menu_reload_as1_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_reload_as1), menu_reload_as1_menu); @@ -419,18 +420,18 @@ gtk_widget_show (close_other_documents1); gtk_container_add (GTK_CONTAINER (file1_menu), close_other_documents1);
- image2580 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2580); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (close_other_documents1), image2580); + image2599 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2599); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (close_other_documents1), image2599);
menu_close_all1 = gtk_image_menu_item_new_with_mnemonic (_("C_lose All")); gtk_widget_show (menu_close_all1); gtk_container_add (GTK_CONTAINER (file1_menu), menu_close_all1); gtk_tooltips_set_tip (tooltips, menu_close_all1, _("Closes all open files"), NULL);
- image2581 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2581); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_close_all1), image2581); + image2600 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2600); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_close_all1), image2600);
menu_separatormenuitem1 = gtk_separator_menu_item_new (); gtk_widget_show (menu_separatormenuitem1); @@ -534,17 +535,17 @@ gtk_widget_show (menu_increase_indent1); gtk_container_add (GTK_CONTAINER (menu_format1_menu), menu_increase_indent1);
- image2582 = gtk_image_new_from_stock ("gtk-indent", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2582); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_increase_indent1), image2582); + image2601 = gtk_image_new_from_stock ("gtk-indent", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2601); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_increase_indent1), image2601);
menu_decrease_indent1 = gtk_image_menu_item_new_with_mnemonic (_("_Decrease Indent")); gtk_widget_show (menu_decrease_indent1); gtk_container_add (GTK_CONTAINER (menu_format1_menu), menu_decrease_indent1);
- image2583 = gtk_image_new_from_stock ("gtk-unindent", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2583); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_decrease_indent1), image2583); + image2602 = gtk_image_new_from_stock ("gtk-unindent", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2602); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_decrease_indent1), image2602);
separator37 = gtk_separator_menu_item_new (); gtk_widget_show (separator37); @@ -570,9 +571,9 @@ gtk_widget_show (add_comments1); gtk_container_add (GTK_CONTAINER (edit1_menu), add_comments1);
- image2584 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2584); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_comments1), image2584); + image2603 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2603); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (add_comments1), image2603);
add_comments1_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (add_comments1), add_comments1_menu); @@ -611,9 +612,9 @@ gtk_widget_show (insert_date1); gtk_container_add (GTK_CONTAINER (edit1_menu), insert_date1);
- image2585 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2585); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (insert_date1), image2585); + image2604 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2604); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (insert_date1), image2604);
insert_date1_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (insert_date1), insert_date1_menu); @@ -625,9 +626,9 @@ gtk_widget_show (insert_include2); gtk_container_add (GTK_CONTAINER (edit1_menu), insert_include2);
- image2586 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2586); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (insert_include2), image2586); + image2605 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2605); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (insert_include2), image2605);
insert_include2_menu = gtk_menu_new (); gtk_menu_item_set_submenu (GTK_MENU_ITEM (insert_include2), insert_include2_menu); @@ -671,9 +672,9 @@ gtk_widget_show (replace1); gtk_container_add (GTK_CONTAINER (search1_menu), replace1);
- image2587 = gtk_image_new_from_stock ("gtk-find-and-replace", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2587); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (replace1), image2587); + image2606 = gtk_image_new_from_stock ("gtk-find-and-replace", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2606); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (replace1), image2606);
separator33 = gtk_separator_menu_item_new (); gtk_widget_show (separator33); @@ -710,9 +711,9 @@ gtk_widget_show (go_to_line1); gtk_container_add (GTK_CONTAINER (search1_menu), go_to_line1);
- image2588 = gtk_image_new_from_stock ("gtk-jump-to", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2588); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (go_to_line1), image2588); + image2607 = gtk_image_new_from_stock ("gtk-jump-to", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2607); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (go_to_line1), image2607);
menu_view1 = gtk_menu_item_new_with_mnemonic (_("_View")); gtk_widget_show (menu_view1); @@ -726,9 +727,9 @@ gtk_container_add (GTK_CONTAINER (menu_view1_menu), menu_change_font1); gtk_tooltips_set_tip (tooltips, menu_change_font1, _("Change the default font"), NULL);
- image2589 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2589); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_change_font1), image2589); + image2608 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2608); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_change_font1), image2608);
menu_separator4 = gtk_separator_menu_item_new (); gtk_widget_show (menu_separator4); @@ -834,6 +835,7 @@ tabs1_group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (tabs_and_spaces1)); gtk_widget_show (tabs_and_spaces1); gtk_container_add (GTK_CONTAINER (indent_type1_menu), tabs_and_spaces1); + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (tabs_and_spaces1), TRUE);
separator45 = gtk_separator_menu_item_new (); gtk_widget_show (separator45); @@ -958,25 +960,25 @@ gtk_widget_show (project_new1); gtk_container_add (GTK_CONTAINER (menu_project1_menu), project_new1);
- image2590 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2590); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (project_new1), image2590); + image2609 = gtk_image_new_from_stock ("gtk-new", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2609); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (project_new1), image2609);
project_open1 = gtk_image_menu_item_new_with_mnemonic (_("_Open")); gtk_widget_show (project_open1); gtk_container_add (GTK_CONTAINER (menu_project1_menu), project_open1);
- image2591 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2591); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (project_open1), image2591); + image2610 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2610); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (project_open1), image2610);
project_close1 = gtk_image_menu_item_new_with_mnemonic (_("_Close")); gtk_widget_show (project_close1); gtk_container_add (GTK_CONTAINER (menu_project1_menu), project_close1);
- image2592 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2592); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (project_close1), image2592); + image2611 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2611); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (project_close1), image2611);
separator34 = gtk_separator_menu_item_new (); gtk_widget_show (separator34); @@ -1003,9 +1005,9 @@ gtk_container_add (GTK_CONTAINER (tools1_menu), menu_choose_color1); gtk_tooltips_set_tip (tooltips, menu_choose_color1, _("Open a color chooser dialog, to interactively pick colors from a palette."), NULL);
- image2593 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2593); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_choose_color1), image2593); + image2612 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2612); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_choose_color1), image2612);
menu_count_words1 = gtk_menu_item_new_with_mnemonic (_("_Word Count")); gtk_widget_show (menu_count_words1); @@ -1022,9 +1024,9 @@ gtk_container_add (GTK_CONTAINER (tools1_menu), menu_reload_configuration1); gtk_tooltips_set_tip (tooltips, menu_reload_configuration1, _("Reload configuration data like snippets, templates and filetype extensions."), NULL);
- image2594 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2594); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_reload_configuration1), image2594); + image2613 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2613); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_reload_configuration1), image2613);
menu_help1 = gtk_menu_item_new_with_mnemonic (_("_Help")); gtk_widget_show (menu_help1); @@ -1037,9 +1039,9 @@ gtk_widget_show (help1); gtk_container_add (GTK_CONTAINER (menu_help1_menu), help1);
- image2595 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU); - gtk_widget_show (image2595); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image2595); + image2614 = gtk_image_new_from_stock ("gtk-help", GTK_ICON_SIZE_MENU); + gtk_widget_show (image2614); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (help1), image2614);
keyboard_shortcuts1 = gtk_menu_item_new_with_mnemonic (_("_Keyboard Shortcuts")); gtk_widget_show (keyboard_shortcuts1); @@ -1050,6 +1052,10 @@ gtk_widget_show (website1); gtk_container_add (GTK_CONTAINER (menu_help1_menu), website1);
+ debug_messages1 = gtk_menu_item_new_with_mnemonic (_("_Debug Messages")); + gtk_widget_show (debug_messages1); + gtk_container_add (GTK_CONTAINER (menu_help1_menu), debug_messages1); + separator16 = gtk_separator_menu_item_new (); gtk_widget_show (separator16); gtk_container_add (GTK_CONTAINER (menu_help1_menu), separator16); @@ -1640,6 +1646,9 @@ g_signal_connect ((gpointer) website1, "activate", G_CALLBACK (on_website1_activate), NULL); + g_signal_connect ((gpointer) debug_messages1, "activate", + G_CALLBACK (on_debug_messages1_activate), + NULL); g_signal_connect ((gpointer) menu_info1, "activate", G_CALLBACK (on_info1_activate), NULL); @@ -1743,7 +1752,7 @@ GLADE_HOOKUP_OBJECT (window1, file1_menu, "file1_menu"); GLADE_HOOKUP_OBJECT (window1, menu_new1, "menu_new1"); GLADE_HOOKUP_OBJECT (window1, menu_new_with_template1, "menu_new_with_template1"); - GLADE_HOOKUP_OBJECT (window1, image2576, "image2576"); + GLADE_HOOKUP_OBJECT (window1, image2595, "image2595"); GLADE_HOOKUP_OBJECT (window1, menu_new_with_template1_menu, "menu_new_with_template1_menu"); GLADE_HOOKUP_OBJECT (window1, invisible2, "invisible2"); GLADE_HOOKUP_OBJECT (window1, separator12, "separator12"); @@ -1754,11 +1763,11 @@ GLADE_HOOKUP_OBJECT (window1, menu_save1, "menu_save1"); GLADE_HOOKUP_OBJECT (window1, menu_save_as1, "menu_save_as1"); GLADE_HOOKUP_OBJECT (window1, menu_save_all1, "menu_save_all1"); - GLADE_HOOKUP_OBJECT (window1, image2577, "image2577"); + GLADE_HOOKUP_OBJECT (window1, image2596, "image2596"); GLADE_HOOKUP_OBJECT (window1, menu_reload1, "menu_reload1"); - GLADE_HOOKUP_OBJECT (window1, image2578, "image2578"); + GLADE_HOOKUP_OBJECT (window1, image2597, "image2597"); GLADE_HOOKUP_OBJECT (window1, menu_reload_as1, "menu_reload_as1"); - GLADE_HOOKUP_OBJECT (window1, image2579, "image2579"); + GLADE_HOOKUP_OBJECT (window1, image2598, "image2598"); GLADE_HOOKUP_OBJECT (window1, menu_reload_as1_menu, "menu_reload_as1_menu"); GLADE_HOOKUP_OBJECT (window1, invisible7, "invisible7"); GLADE_HOOKUP_OBJECT (window1, separator21, "separator21"); @@ -1769,9 +1778,9 @@ GLADE_HOOKUP_OBJECT (window1, separator14, "separator14"); GLADE_HOOKUP_OBJECT (window1, menu_close1, "menu_close1"); GLADE_HOOKUP_OBJECT (window1, close_other_documents1, "close_other_documents1"); - GLADE_HOOKUP_OBJECT (window1, image2580, "image2580"); + GLADE_HOOKUP_OBJECT (window1, image2599, "image2599"); GLADE_HOOKUP_OBJECT (window1, menu_close_all1, "menu_close_all1"); - GLADE_HOOKUP_OBJECT (window1, image2581, "image2581"); + GLADE_HOOKUP_OBJECT (window1, image2600, "image2600"); GLADE_HOOKUP_OBJECT (window1, menu_separatormenuitem1, "menu_separatormenuitem1"); GLADE_HOOKUP_OBJECT (window1, menu_quit1, "menu_quit1"); GLADE_HOOKUP_OBJECT (window1, edit1, "edit1"); @@ -1796,16 +1805,16 @@ GLADE_HOOKUP_OBJECT (window1, menu_duplicate_line1, "menu_duplicate_line1"); GLADE_HOOKUP_OBJECT (window1, separator29, "separator29"); GLADE_HOOKUP_OBJECT (window1, menu_increase_indent1, "menu_increase_indent1"); - GLADE_HOOKUP_OBJECT (window1, image2582, "image2582"); + GLADE_HOOKUP_OBJECT (window1, image2601, "image2601"); GLADE_HOOKUP_OBJECT (window1, menu_decrease_indent1, "menu_decrease_indent1"); - GLADE_HOOKUP_OBJECT (window1, image2583, "image2583"); + GLADE_HOOKUP_OBJECT (window1, image2602, "image2602"); GLADE_HOOKUP_OBJECT (window1, separator37, "separator37"); GLADE_HOOKUP_OBJECT (window1, send_selection_to2, "send_selection_to2"); GLADE_HOOKUP_OBJECT (window1, send_selection_to2_menu, "send_selection_to2_menu"); GLADE_HOOKUP_OBJECT (window1, invisible13, "invisible13"); GLADE_HOOKUP_OBJECT (window1, separator18, "separator18"); GLADE_HOOKUP_OBJECT (window1, add_comments1, "add_comments1"); - GLADE_HOOKUP_OBJECT (window1, image2584, "image2584"); + GLADE_HOOKUP_OBJECT (window1, image2603, "image2603"); GLADE_HOOKUP_OBJECT (window1, add_comments1_menu, "add_comments1_menu"); GLADE_HOOKUP_OBJECT (window1, menu_add_changelog_entry1, "menu_add_changelog_entry1"); GLADE_HOOKUP_OBJECT (window1, insert_file_header1, "insert_file_header1"); @@ -1814,11 +1823,11 @@ GLADE_HOOKUP_OBJECT (window1, insert_gpl_notice2, "insert_gpl_notice2"); GLADE_HOOKUP_OBJECT (window1, insert_bsd_license_notice2, "insert_bsd_license_notice2"); GLADE_HOOKUP_OBJECT (window1, insert_date1, "insert_date1"); - GLADE_HOOKUP_OBJECT (window1, image2585, "image2585"); + GLADE_HOOKUP_OBJECT (window1, image2604, "image2604"); GLADE_HOOKUP_OBJECT (window1, insert_date1_menu, "insert_date1_menu"); GLADE_HOOKUP_OBJECT (window1, invisible8, "invisible8"); GLADE_HOOKUP_OBJECT (window1, insert_include2, "insert_include2"); - GLADE_HOOKUP_OBJECT (window1, image2586, "image2586"); + GLADE_HOOKUP_OBJECT (window1, image2605, "image2605"); GLADE_HOOKUP_OBJECT (window1, insert_include2_menu, "insert_include2_menu"); GLADE_HOOKUP_OBJECT (window1, invisible4, "invisible4"); GLADE_HOOKUP_OBJECT (window1, separator9, "separator9"); @@ -1830,7 +1839,7 @@ GLADE_HOOKUP_OBJECT (window1, find_previous1, "find_previous1"); GLADE_HOOKUP_OBJECT (window1, find_in_files1, "find_in_files1"); GLADE_HOOKUP_OBJECT (window1, replace1, "replace1"); - GLADE_HOOKUP_OBJECT (window1, image2587, "image2587"); + GLADE_HOOKUP_OBJECT (window1, image2606, "image2606"); GLADE_HOOKUP_OBJECT (window1, separator33, "separator33"); GLADE_HOOKUP_OBJECT (window1, find_nextsel1, "find_nextsel1"); GLADE_HOOKUP_OBJECT (window1, find_prevsel1, "find_prevsel1"); @@ -1839,11 +1848,11 @@ GLADE_HOOKUP_OBJECT (window1, previous_message1, "previous_message1"); GLADE_HOOKUP_OBJECT (window1, separator32, "separator32"); GLADE_HOOKUP_OBJECT (window1, go_to_line1, "go_to_line1"); - GLADE_HOOKUP_OBJECT (window1, image2588, "image2588"); + GLADE_HOOKUP_OBJECT (window1, image2607, "image2607"); GLADE_HOOKUP_OBJECT (window1, menu_view1, "menu_view1"); GLADE_HOOKUP_OBJECT (window1, menu_view1_menu, "menu_view1_menu"); GLADE_HOOKUP_OBJECT (window1, menu_change_font1, "menu_change_font1"); - GLADE_HOOKUP_OBJECT (window1, image2589, "image2589"); + GLADE_HOOKUP_OBJECT (window1, image2608, "image2608"); GLADE_HOOKUP_OBJECT (window1, menu_separator4, "menu_separator4"); GLADE_HOOKUP_OBJECT (window1, menu_toggle_all_additional_widgets1, "menu_toggle_all_additional_widgets1"); GLADE_HOOKUP_OBJECT (window1, menu_fullscreen1, "menu_fullscreen1"); @@ -1894,28 +1903,29 @@ GLADE_HOOKUP_OBJECT (window1, menu_project1, "menu_project1"); GLADE_HOOKUP_OBJECT (window1, menu_project1_menu, "menu_project1_menu"); GLADE_HOOKUP_OBJECT (window1, project_new1, "project_new1"); - GLADE_HOOKUP_OBJECT (window1, image2590, "image2590"); + GLADE_HOOKUP_OBJECT (window1, image2609, "image2609"); GLADE_HOOKUP_OBJECT (window1, project_open1, "project_open1"); - GLADE_HOOKUP_OBJECT (window1, image2591, "image2591"); + GLADE_HOOKUP_OBJECT (window1, image2610, "image2610"); GLADE_HOOKUP_OBJECT (window1, project_close1, "project_close1"); - GLADE_HOOKUP_OBJECT (window1, image2592, "image2592"); + GLADE_HOOKUP_OBJECT (window1, image2611, "image2611"); GLADE_HOOKUP_OBJECT (window1, separator34, "separator34"); GLADE_HOOKUP_OBJECT (window1, project_properties1, "project_properties1"); GLADE_HOOKUP_OBJECT (window1, menu_build1, "menu_build1"); GLADE_HOOKUP_OBJECT (window1, tools1, "tools1"); GLADE_HOOKUP_OBJECT (window1, tools1_menu, "tools1_menu"); GLADE_HOOKUP_OBJECT (window1, menu_choose_color1, "menu_choose_color1"); - GLADE_HOOKUP_OBJECT (window1, image2593, "image2593"); + GLADE_HOOKUP_OBJECT (window1, image2612, "image2612"); GLADE_HOOKUP_OBJECT (window1, menu_count_words1, "menu_count_words1"); GLADE_HOOKUP_OBJECT (window1, load_tags1, "load_tags1"); GLADE_HOOKUP_OBJECT (window1, menu_reload_configuration1, "menu_reload_configuration1"); - GLADE_HOOKUP_OBJECT (window1, image2594, "image2594"); + GLADE_HOOKUP_OBJECT (window1, image2613, "image2613"); GLADE_HOOKUP_OBJECT (window1, menu_help1, "menu_help1"); GLADE_HOOKUP_OBJECT (window1, menu_help1_menu, "menu_help1_menu"); GLADE_HOOKUP_OBJECT (window1, help1, "help1"); - GLADE_HOOKUP_OBJECT (window1, image2595, "image2595"); + GLADE_HOOKUP_OBJECT (window1, image2614, "image2614"); GLADE_HOOKUP_OBJECT (window1, keyboard_shortcuts1, "keyboard_shortcuts1"); GLADE_HOOKUP_OBJECT (window1, website1, "website1"); + GLADE_HOOKUP_OBJECT (window1, debug_messages1, "debug_messages1"); GLADE_HOOKUP_OBJECT (window1, separator16, "separator16"); GLADE_HOOKUP_OBJECT (window1, menu_info1, "menu_info1"); GLADE_HOOKUP_OBJECT (window1, toolbar1, "toolbar1");
Added: trunk/src/log.c =================================================================== --- trunk/src/log.c (rev 0) +++ trunk/src/log.c 2008-08-11 18:16:35 UTC (rev 2876) @@ -0,0 +1,176 @@ +/* + * log.c - this file is part of Geany, a fast and lightweight IDE + * + * Copyright 2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + * Copyright 2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $Id$ + */ + +/* + * Logging functions and the debug messages window. + */ + +#include "geany.h" + +#ifdef HAVE_LOCALE_H +# include <locale.h> +#endif + +#include "log.h" +#include "support.h" +#include "utils.h" +#include "ui_utils.h" + + +static GString *log_buffer = NULL; + +enum +{ + DIALOG_RESPONSE_CLEAR = 1 +}; + + +/* Geany's main debug/log function, declared in geany.h */ +void geany_debug(gchar const *format, ...) +{ + va_list args; + va_start(args, format); + g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format, args); + va_end(args); +} + + +static void handler_print(const gchar *msg) +{ + printf("%s\n", msg); + g_string_append_printf(log_buffer, "%s\n", msg); +} + + +static void handler_printerr(const gchar *msg) +{ + fprintf(stderr, "%s\n", msg); + g_string_append_printf(log_buffer, "%s\n", msg); +} + + +static const gchar *get_log_prefix(GLogLevelFlags log_level) +{ + switch (log_level & G_LOG_LEVEL_MASK) + { + case G_LOG_LEVEL_ERROR: + return "ERROR\t\t"; + case G_LOG_LEVEL_CRITICAL: + return "CRITICAL\t"; + case G_LOG_LEVEL_WARNING: + return "WARNING\t"; + case G_LOG_LEVEL_MESSAGE: + return "MESSAGE\t"; + case G_LOG_LEVEL_INFO: + return "INFO\t\t"; + case G_LOG_LEVEL_DEBUG: + return "DEBUG\t"; + } + return "LOG"; +} + + +static void handler_log(const gchar *domain, GLogLevelFlags level, const gchar *msg, gpointer data) +{ + gchar *time_str; + +#ifndef GEANY_DEBUG + if (app != NULL && app->debug_mode) +#endif + { /* print the message as usual on stdout/stderr */ + g_log_default_handler(domain, level, msg, data); + } + + time_str = utils_get_current_time_string(); + + g_string_append_printf(log_buffer, "%s: %s: %s\n", time_str, get_log_prefix(level), msg); + + g_free(time_str); +} + + +void log_handlers_init(void) +{ + log_buffer = g_string_sized_new(2048); + + g_set_print_handler(handler_print); + g_set_printerr_handler(handler_printerr); + g_log_set_default_handler(handler_log, NULL); +} + + +static void on_dialog_response(GtkWidget *dialog, gint response, gpointer user_data) +{ + if (response == DIALOG_RESPONSE_CLEAR) + { + GtkTextIter start_iter, end_iter; + GtkTextBuffer *tb = gtk_text_view_get_buffer(GTK_TEXT_VIEW(user_data)); + + gtk_text_buffer_get_start_iter(tb, &start_iter); + gtk_text_buffer_get_end_iter(tb, &end_iter); + gtk_text_buffer_delete(tb, &start_iter, &end_iter); + + g_string_erase(log_buffer, 0, -1); + } + else + gtk_widget_destroy(dialog); +} + + +void log_show_debug_messages_dialog(void) +{ + GtkWidget *dialog, *textview, *vbox, *swin; + + dialog = gtk_dialog_new_with_buttons(_("Debug Messages"), GTK_WINDOW(main_widgets.window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLEAR, DIALOG_RESPONSE_CLEAR, + GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, NULL); + vbox = ui_dialog_vbox_new(GTK_DIALOG(dialog)); + gtk_box_set_spacing(GTK_BOX(vbox), 6); + gtk_widget_set_name(dialog, "GeanyDialog"); + + gtk_window_set_default_size(GTK_WINDOW(dialog), 450, 250); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_CANCEL); + + textview = gtk_text_view_new(); + gtk_text_view_set_editable(GTK_TEXT_VIEW(textview), FALSE); + gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(textview), FALSE); + gtk_text_buffer_set_text(gtk_text_view_get_buffer( + GTK_TEXT_VIEW(textview)), log_buffer->str, log_buffer->len); + + swin = gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(swin), textview); + + gtk_box_pack_start(GTK_BOX(vbox), swin, TRUE, TRUE, 0); + + g_signal_connect(dialog, "response", G_CALLBACK(on_dialog_response), textview); + gtk_widget_show_all(dialog); +} + + +void log_finalize(void) +{ + g_string_free(log_buffer, TRUE); +}
Added: trunk/src/log.h =================================================================== --- trunk/src/log.h (rev 0) +++ trunk/src/log.h 2008-08-11 18:16:35 UTC (rev 2876) @@ -0,0 +1,34 @@ +/* + * log.h - this file is part of Geany, a fast and lightweight IDE + * + * Copyright 2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + * Copyright 2008 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $Id$ + */ + + +#ifndef GEANY_LOG_H +#define GEANY_LOG_H + +void log_handlers_init(void); + +void log_finalize(void); + +void log_show_debug_messages_dialog(void); + +#endif
Modified: trunk/src/main.c =================================================================== --- trunk/src/main.c 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/src/main.c 2008-08-11 18:16:35 UTC (rev 2876) @@ -47,7 +47,7 @@ #include "interface.h" #include "support.h" #include "callbacks.h" - +#include "log.h" #include "ui_utils.h" #include "utils.h" #include "document.h" @@ -149,21 +149,6 @@
-/* Geany main debug function */ -void geany_debug(gchar const *format, ...) -{ -#ifndef GEANY_DEBUG - if (app != NULL && app->debug_mode) -#endif - { - va_list args; - va_start(args, format); - g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format, args); - va_end(args); - } -} - - /* special things for the initial setup of the checkboxes and related stuff * an action on a setting is only performed if the setting is not equal to the program default * (all the following code is not perfect but it works for the moment) */ @@ -727,6 +712,8 @@ gint config_dir_result; gboolean load_project_from_cl = FALSE;
+ log_handlers_init(); + app = g_new0(GeanyApp, 1); memset(&main_status, 0, sizeof(GeanyStatus)); memset(&prefs, 0, sizeof(GeanyPrefs)); @@ -936,6 +923,7 @@ editor_finalize(); editor_snippets_free(); encodings_finalize(); + log_finalize();
tm_workspace_free(TM_WORK_OBJECT(app->tm_workspace)); g_free(app->configdir);
Modified: trunk/src/makefile.win32 =================================================================== --- trunk/src/makefile.win32 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/src/makefile.win32 2008-08-11 18:16:35 UTC (rev 2876) @@ -62,7 +62,7 @@
OBJS = about.o build.o callbacks.o dialogs.o document.o editor.o encodings.o filetypes.o \ geanyobject.o geanywraplabel.o highlighting.o interface.o keybindings.o keyfile.o \ - main.o msgwindow.o navqueue.o notebook.o plugins.o prefs.o printing.o project.o \ + log.o main.o msgwindow.o navqueue.o notebook.o plugins.o prefs.o printing.o project.o \ sciwrappers.o search.o socket.o support.o symbols.o templates.o treeviews.o tools.o \ ui_utils.o utils.o win32.o
Modified: trunk/wscript =================================================================== --- trunk/wscript 2008-08-11 16:57:40 UTC (rev 2875) +++ trunk/wscript 2008-08-11 18:16:35 UTC (rev 2876) @@ -86,7 +86,7 @@ 'src/about.c', 'src/build.c', 'src/callbacks.c', 'src/dialogs.c', 'src/document.c', 'src/editor.c', 'src/encodings.c', 'src/filetypes.c', 'src/geanyobject.c', 'src/geanywraplabel.c', 'src/highlighting.c', 'src/interface.c', 'src/keybindings.c', - 'src/keyfile.c', 'src/main.c', 'src/msgwindow.c', 'src/navqueue.c', 'src/notebook.c', + 'src/keyfile.c', 'src/log.c', 'src/main.c', 'src/msgwindow.c', 'src/navqueue.c', 'src/notebook.c', 'src/plugins.c', 'src/prefix.c', 'src/prefs.c', 'src/printing.c', 'src/project.c', 'src/sciwrappers.c', 'src/search.c', 'src/socket.c', 'src/support.c', 'src/symbols.c', 'src/templates.c', 'src/tools.c', 'src/treeviews.c', 'src/ui_utils.c', 'src/utils.c' ]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.