SF.net SVN: geany: [807] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Sat Sep 9 14:36:24 UTC 2006
Revision: 807
http://svn.sourceforge.net/geany/?rev=807&view=rev
Author: ntrel
Date: 2006-09-09 07:36:15 -0700 (Sat, 09 Sep 2006)
Log Message:
-----------
Move on_recent_file_activate, dialogs_create_recent_menu,
dialogs_create_build_menu_gen, dialogs_create_build_menu_tex to
ui_utils.c. Also make some functions static.
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/callbacks.h
trunk/src/dialogs.c
trunk/src/dialogs.h
trunk/src/main.c
trunk/src/ui_utils.c
trunk/src/ui_utils.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/ChangeLog 2006-09-09 14:36:15 UTC (rev 807)
@@ -3,6 +3,12 @@
* src/document.c, src/ui_utils.c:
Reorder the recent files list if necessary when a file is
(re)opened - closes #1552178.
+ * src/msgwindow.c: Check msgwin visible before scrolling.
+ * src/ui_utils.h, src/ui_utils.c, src/callbacks.c,
+ src/callbacks.h, src/dialogs.c, src/dialogs.h, src/main.c:
+ Move on_recent_file_activate, dialogs_create_recent_menu,
+ dialogs_create_build_menu_gen, dialogs_create_build_menu_tex to
+ ui_utils.c. Also make some functions static.
2006-09-08 Nick Treleaven <nick.treleaven at btinternet.com>
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/callbacks.c 2006-09-09 14:36:15 UTC (rev 807)
@@ -2310,19 +2310,6 @@
void
-on_recent_file_activate (GtkMenuItem *menuitem,
- gpointer user_data)
-{
- gchar *locale_filename = utils_get_locale_from_utf8((gchar*) user_data);
-
- document_open_file(-1, locale_filename, 0, FALSE, NULL, NULL);
- ui_recent_file_loaded((gchar*) user_data);
-
- g_free(locale_filename);
-}
-
-
-void
on_file_open_check_hidden_toggled (GtkToggleButton *togglebutton,
gpointer user_data)
{
Modified: trunk/src/callbacks.h
===================================================================
--- trunk/src/callbacks.h 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/callbacks.h 2006-09-09 14:36:15 UTC (rev 807)
@@ -467,10 +467,6 @@
gpointer user_data);
void
-on_recent_file_activate (GtkMenuItem *menuitem,
- gpointer user_data);
-
-void
on_file_open_selection_changed (GtkFileChooser *filechooser,
gpointer user_data);
Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/dialogs.c 2006-09-09 14:36:15 UTC (rev 807)
@@ -46,6 +46,9 @@
#include "keybindings.h"
+static GtkWidget *add_file_open_extra_widget();
+
+
/* This shows the file selection dialog to open a file. */
void dialogs_show_open_file ()
{
@@ -90,7 +93,7 @@
// add checkboxes and filename entry
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(app->open_filesel),
- dialogs_add_file_open_extra_widget());
+ add_file_open_extra_widget());
combo = lookup_widget(app->open_filesel, "filetype_combo");
// add FileFilters(start with "All Files")
@@ -149,6 +152,71 @@
}
+static GtkWidget *add_file_open_extra_widget()
+{
+ GtkWidget *vbox;
+ GtkWidget *lbox;
+ GtkWidget *ebox;
+ GtkWidget *hbox;
+ GtkWidget *file_entry;
+ GtkSizeGroup *size_group;
+ GtkWidget *align;
+ GtkWidget *check_hidden;
+ GtkWidget *filetype_label;
+ GtkWidget *filetype_combo;
+ GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
+
+ vbox = gtk_vbox_new(FALSE, 6);
+
+ align = gtk_alignment_new(1.0, 0.0, 0.0, 0.0);
+ check_hidden = gtk_check_button_new_with_mnemonic(_("Show _hidden files"));
+ gtk_widget_show(check_hidden);
+ gtk_container_add(GTK_CONTAINER(align), check_hidden);
+ gtk_box_pack_start(GTK_BOX(vbox), align, FALSE, FALSE, 0);
+ gtk_button_set_focus_on_click(GTK_BUTTON(check_hidden), FALSE);
+
+ lbox = gtk_hbox_new(FALSE, 12);
+ file_entry = gtk_entry_new();
+ gtk_widget_show(file_entry);
+ gtk_box_pack_start(GTK_BOX(lbox), file_entry, TRUE, TRUE, 0);
+ //gtk_editable_set_editable(GTK_EDITABLE(file_entry), FALSE);
+ gtk_entry_set_activates_default(GTK_ENTRY(file_entry), TRUE);
+
+ // the ebox is for the tooltip, because gtk_combo_box doesn't show a tooltip for unknown reason
+ ebox = gtk_event_box_new();
+ hbox = gtk_hbox_new(FALSE, 6);
+ filetype_label = gtk_label_new(_("Set filetype:"));
+ filetype_combo = gtk_combo_box_new_text();
+ gtk_tooltips_set_tip(tooltips, ebox,
+ _("Explicitly defines a filetype for the file, if it would not be detected by filename extension.\nNote if you choose multiple files, they will all be opened with the chosen filetype."), NULL);
+ gtk_box_pack_start(GTK_BOX(hbox), filetype_label, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), filetype_combo, FALSE, FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(ebox), hbox);
+ gtk_box_pack_start(GTK_BOX(lbox), ebox, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(vbox), lbox, FALSE, FALSE, 0);
+ gtk_widget_show_all(vbox);
+
+ size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
+ gtk_size_group_add_widget(GTK_SIZE_GROUP(size_group), check_hidden);
+ gtk_size_group_add_widget(GTK_SIZE_GROUP(size_group), filetype_combo);
+ g_object_unref(G_OBJECT(size_group)); // auto destroy the size group
+
+ g_signal_connect((gpointer) file_entry, "activate",
+ G_CALLBACK(on_file_open_entry_activate), NULL);
+ g_signal_connect((gpointer) check_hidden, "toggled",
+ G_CALLBACK(on_file_open_check_hidden_toggled), NULL);
+
+ g_object_set_data_full(G_OBJECT(app->open_filesel), "file_entry",
+ gtk_widget_ref(file_entry), (GDestroyNotify)gtk_widget_unref);
+ g_object_set_data_full(G_OBJECT(app->open_filesel), "check_hidden",
+ gtk_widget_ref(check_hidden), (GDestroyNotify)gtk_widget_unref);
+ g_object_set_data_full(G_OBJECT(app->open_filesel), "filetype_combo",
+ gtk_widget_ref(filetype_combo), (GDestroyNotify)gtk_widget_unref);
+
+ return vbox;
+}
+
+
/* This shows the file selection dialog to save a file. */
void dialogs_show_save_as()
{
@@ -332,7 +400,7 @@
/* This shows the font selection dialog to choose a font. */
-void dialogs_show_open_font(void)
+void dialogs_show_open_font()
{
#ifdef G_OS_WIN32
win32_show_font_dialog();
@@ -367,7 +435,7 @@
}
-void dialogs_show_word_count(void)
+void dialogs_show_word_count()
{
GtkWidget *dialog, *label;
gint idx;
@@ -454,256 +522,6 @@
}
-#define GEANY_ADD_WIDGET_ACCEL(gkey, menuitem) \
- if (keys[(gkey)]->key != 0) \
- gtk_widget_add_accelerator(menuitem, "activate", accel_group, \
- keys[(gkey)]->key, keys[(gkey)]->mods, GTK_ACCEL_VISIBLE)
-
-GtkWidget *dialogs_create_build_menu_gen(gint idx)
-{
- GtkWidget *menu, *item = NULL, *image, *separator;
- GtkAccelGroup *accel_group = gtk_accel_group_new();
- GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
- filetype *ft = doc_list[idx].file_type;
-
- menu = gtk_menu_new();
-
- if (ft->menu_items->can_compile)
- {
- // compile the code
- item = gtk_image_menu_item_new_with_mnemonic(_("_Compile"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file"), NULL);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_COMPILE, item);
- image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_compile_activate), NULL);
- ft->menu_items->item_compile = item;
- }
-
- if (ft->menu_items->can_link)
- { // build the code
- item = gtk_image_menu_item_new_with_mnemonic(_("_Build"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item,
- _("Builds the current file (generate an executable file)"), NULL);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_LINK, item);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_build_activate), NULL);
- ft->menu_items->item_link = item;
- }
-
- if (item != NULL)
- {
- item = gtk_separator_menu_item_new();
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- }
-
- // build the code with make all
- item = gtk_image_menu_item_new_with_mnemonic(_("_Make all"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
- "make tool and the default target"), NULL);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKE, item);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(0));
-
- // build the code with make
- item = gtk_image_menu_item_new_with_mnemonic(_("Make custom _target"));
- gtk_widget_show(item);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOWNTARGET, item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
- "make tool and the specified target"), NULL);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(1));
-
- // build the code with make object
- item = gtk_image_menu_item_new_with_mnemonic(_("Make _object"));
- gtk_widget_show(item);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOBJECT, item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file using the "
- "make tool"), NULL);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(2));
-
- if (ft->menu_items->can_exec)
- { // execute the code
- item = gtk_separator_menu_item_new();
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
-
- item = gtk_image_menu_item_new_from_stock("gtk-execute", accel_group);
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Run or view the current file"), NULL);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_RUN, item);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_execute_activate), NULL);
- ft->menu_items->item_exec = item;
- }
-
- // arguments
- if (ft->menu_items->can_compile || ft->menu_items->can_link || ft->menu_items->can_exec)
- {
- // separator
- separator = gtk_separator_menu_item_new();
- gtk_widget_show(separator);
- gtk_container_add(GTK_CONTAINER(menu), separator);
- gtk_widget_set_sensitive(separator, FALSE);
-
- item = gtk_image_menu_item_new_with_mnemonic(_("_Set Includes and Arguments"));
- gtk_widget_show(item);
- GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_OPTIONS, item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item,
- _("Sets the includes and library paths for the compiler and "
- "the program arguments for execution"), NULL);
- image = gtk_image_new_from_stock("gtk-preferences", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_arguments_activate), NULL);
- }
-
- return menu;
-}
-
-
-GtkWidget *dialogs_create_build_menu_tex(gint idx)
-{
- GtkWidget *menu, *item, *image, *separator;
- GtkAccelGroup *accel_group = gtk_accel_group_new();
- GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
-
- menu = gtk_menu_new();
-
- // DVI
- item = gtk_image_menu_item_new_with_mnemonic(_("LaTeX -> DVI"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file into a DVI file"), NULL);
- if (keys[GEANY_KEYS_BUILD_COMPILE]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_COMPILE]->key,
- keys[GEANY_KEYS_BUILD_COMPILE]->mods, GTK_ACCEL_VISIBLE);
- image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(0));
-
- // PDF
- item = gtk_image_menu_item_new_with_mnemonic(_("LaTeX -> PDF"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file into a PDF file"), NULL);
- if (keys[GEANY_KEYS_BUILD_LINK]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_LINK]->key,
- keys[GEANY_KEYS_BUILD_LINK]->mods, GTK_ACCEL_VISIBLE);
- image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(1));
-
- // build the code with make all
- item = gtk_image_menu_item_new_with_mnemonic(_("Build with \"make\""));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
- "make tool and the default target"), NULL);
- if (keys[GEANY_KEYS_BUILD_MAKE]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_MAKE]->key,
- keys[GEANY_KEYS_BUILD_MAKE]->mods, GTK_ACCEL_VISIBLE);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(0));
-
- // build the code with make
- item = gtk_image_menu_item_new_with_mnemonic(_("Build with make (custom target)"));
- gtk_widget_show(item);
- if (keys[GEANY_KEYS_BUILD_MAKEOWNTARGET]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_MAKEOWNTARGET]->key,
- keys[GEANY_KEYS_BUILD_MAKEOWNTARGET]->mods, GTK_ACCEL_VISIBLE);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
- "make tool and the specified target"), NULL);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(1));
-
- // DVI view
- item = gtk_image_menu_item_new_with_mnemonic(_("View DVI file"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- if (keys[GEANY_KEYS_BUILD_RUN]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_RUN]->key,
- keys[GEANY_KEYS_BUILD_RUN]->mods, GTK_ACCEL_VISIBLE);
- gtk_tooltips_set_tip(tooltips, item, _("Compiles and view the current file"), NULL);
- image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(2));
-
- // PDF view
- item = gtk_image_menu_item_new_with_mnemonic(_("View PDF file"));
- gtk_widget_show(item);
- gtk_container_add(GTK_CONTAINER(menu), item);
- if (keys[GEANY_KEYS_BUILD_RUN2]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_RUN2]->key,
- keys[GEANY_KEYS_BUILD_RUN2]->mods, GTK_ACCEL_VISIBLE);
- gtk_tooltips_set_tip(tooltips, item, _("Compiles and view the current file"), NULL);
- image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(3));
-
- // separator
- separator = gtk_separator_menu_item_new();
- gtk_widget_show(separator);
- gtk_container_add(GTK_CONTAINER(menu), separator);
- gtk_widget_set_sensitive(separator, FALSE);
-
- // arguments
- item = gtk_image_menu_item_new_with_mnemonic(_("Set Arguments"));
- gtk_widget_show(item);
- if (keys[GEANY_KEYS_BUILD_OPTIONS]->key)
- gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_OPTIONS]->key,
- keys[GEANY_KEYS_BUILD_OPTIONS]->mods, GTK_ACCEL_VISIBLE);
- gtk_container_add(GTK_CONTAINER(menu), item);
- gtk_tooltips_set_tip(tooltips, item,
- _("Sets the program paths and arguments"), NULL);
- image = gtk_image_new_from_stock("gtk-preferences", GTK_ICON_SIZE_MENU);
- gtk_widget_show(image);
- gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
- g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_arguments_activate), NULL);
-
- gtk_window_add_accel_group(GTK_WINDOW(app->window), accel_group);
-
- return menu;
-}
-
-
-void dialogs_create_recent_menu(void)
-{
- GtkWidget *recent_menu = lookup_widget(app->window, "recent_files1_menu");
- GtkWidget *tmp;
- guint i;
- gchar *filename;
-
- if (g_queue_get_length(app->recent_queue) == 0)
- {
- gtk_widget_set_sensitive(lookup_widget(app->window, "recent_files1"), FALSE);
- return;
- }
-
- for (i = 0; i < MIN(app->mru_length, g_queue_get_length(app->recent_queue));
- i++)
- {
- filename = g_queue_peek_nth(app->recent_queue, i);
- tmp = gtk_menu_item_new_with_label(filename);
- gtk_widget_show(tmp);
- gtk_menu_shell_append(GTK_MENU_SHELL(recent_menu), tmp);
- g_signal_connect((gpointer) tmp, "activate",
- G_CALLBACK(on_recent_file_activate), (gpointer) filename);
- }
-}
-
-
void dialogs_show_input(const gchar *title, const gchar *label_text, const gchar *default_text,
GCallback cb_dialog, GCallback cb_entry)
{
@@ -735,7 +553,7 @@
}
-void dialogs_show_goto_line(void)
+void dialogs_show_goto_line()
{
GtkWidget *dialog, *label, *entry;
@@ -760,7 +578,7 @@
}
-void dialogs_show_includes_arguments_tex(void)
+void dialogs_show_includes_arguments_tex()
{
GtkWidget *dialog, *label, *entries[4];
gint idx = document_get_cur_idx();
@@ -867,7 +685,7 @@
}
-void dialogs_show_includes_arguments_gen(void)
+void dialogs_show_includes_arguments_gen()
{
GtkWidget *dialog, *label, *entries[3];
gint idx = document_get_cur_idx();
@@ -961,71 +779,6 @@
}
-GtkWidget *dialogs_add_file_open_extra_widget(void)
-{
- GtkWidget *vbox;
- GtkWidget *lbox;
- GtkWidget *ebox;
- GtkWidget *hbox;
- GtkWidget *file_entry;
- GtkSizeGroup *size_group;
- GtkWidget *align;
- GtkWidget *check_hidden;
- GtkWidget *filetype_label;
- GtkWidget *filetype_combo;
- GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
-
- vbox = gtk_vbox_new(FALSE, 6);
-
- align = gtk_alignment_new(1.0, 0.0, 0.0, 0.0);
- check_hidden = gtk_check_button_new_with_mnemonic(_("Show _hidden files"));
- gtk_widget_show(check_hidden);
- gtk_container_add(GTK_CONTAINER(align), check_hidden);
- gtk_box_pack_start(GTK_BOX(vbox), align, FALSE, FALSE, 0);
- gtk_button_set_focus_on_click(GTK_BUTTON(check_hidden), FALSE);
-
- lbox = gtk_hbox_new(FALSE, 12);
- file_entry = gtk_entry_new();
- gtk_widget_show(file_entry);
- gtk_box_pack_start(GTK_BOX(lbox), file_entry, TRUE, TRUE, 0);
- //gtk_editable_set_editable(GTK_EDITABLE(file_entry), FALSE);
- gtk_entry_set_activates_default(GTK_ENTRY(file_entry), TRUE);
-
- // the ebox is for the tooltip, because gtk_combo_box doesn't show a tooltip for unknown reason
- ebox = gtk_event_box_new();
- hbox = gtk_hbox_new(FALSE, 6);
- filetype_label = gtk_label_new(_("Set filetype:"));
- filetype_combo = gtk_combo_box_new_text();
- gtk_tooltips_set_tip(tooltips, ebox,
- _("Explicitly defines a filetype for the file, if it would not be detected by filename extension.\nNote if you choose multiple files, they will all be opened with the chosen filetype."), NULL);
- gtk_box_pack_start(GTK_BOX(hbox), filetype_label, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), filetype_combo, FALSE, FALSE, 0);
- gtk_container_add(GTK_CONTAINER(ebox), hbox);
- gtk_box_pack_start(GTK_BOX(lbox), ebox, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(vbox), lbox, FALSE, FALSE, 0);
- gtk_widget_show_all(vbox);
-
- size_group = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
- gtk_size_group_add_widget(GTK_SIZE_GROUP(size_group), check_hidden);
- gtk_size_group_add_widget(GTK_SIZE_GROUP(size_group), filetype_combo);
- g_object_unref(G_OBJECT(size_group)); // auto destroy the size group
-
- g_signal_connect((gpointer) file_entry, "activate",
- G_CALLBACK(on_file_open_entry_activate), NULL);
- g_signal_connect((gpointer) check_hidden, "toggled",
- G_CALLBACK(on_file_open_check_hidden_toggled), NULL);
-
- g_object_set_data_full(G_OBJECT(app->open_filesel), "file_entry",
- gtk_widget_ref(file_entry), (GDestroyNotify)gtk_widget_unref);
- g_object_set_data_full(G_OBJECT(app->open_filesel), "check_hidden",
- gtk_widget_ref(check_hidden), (GDestroyNotify)gtk_widget_unref);
- g_object_set_data_full(G_OBJECT(app->open_filesel), "filetype_combo",
- gtk_widget_ref(filetype_combo), (GDestroyNotify)gtk_widget_unref);
-
- return vbox;
-}
-
-
void dialogs_show_file_properties(gint idx)
{
GtkWidget *dialog, *label, *table, *hbox, *image, *perm_table, *check;
@@ -1456,7 +1209,7 @@
}
-void dialogs_show_keyboard_shortcuts(void)
+void dialogs_show_keyboard_shortcuts()
{
GtkWidget *dialog, *hbox, *label1, *label2, *label3, *swin;
GString *text_names = g_string_sized_new(600);
Modified: trunk/src/dialogs.h
===================================================================
--- trunk/src/dialogs.h 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/dialogs.h 2006-09-09 14:36:15 UTC (rev 807)
@@ -25,7 +25,7 @@
#define GEANY_DIALOGS_H 1
/* This shows the file selection dialog to open a file. */
-void dialogs_show_open_file(void);
+void dialogs_show_open_file();
/* This shows the file selection dialog to save a file. */
void dialogs_show_save_as();
@@ -37,29 +37,21 @@
gboolean dialogs_show_unsaved_file(gint idx);
/* This shows the font selection dialog to choose a font. */
-void dialogs_show_open_font(void);
+void dialogs_show_open_font();
-void dialogs_show_word_count(void);
+void dialogs_show_word_count();
void dialogs_show_color(gchar *colour);
-GtkWidget *dialogs_create_build_menu_gen(gint idx);
-
-GtkWidget *dialogs_create_build_menu_tex(gint idx);
-
void dialogs_show_input(const gchar *title, const gchar *label_text, const gchar *default_text,
GCallback cb_dialog, GCallback cb_entry);
-void dialogs_show_goto_line(void);
+void dialogs_show_goto_line();
-void dialogs_show_includes_arguments_gen(void);
+void dialogs_show_includes_arguments_gen();
-void dialogs_show_includes_arguments_tex(void);
+void dialogs_show_includes_arguments_tex();
-void dialogs_create_recent_menu(void);
-
-GtkWidget *dialogs_add_file_open_extra_widget(void);
-
void dialogs_show_file_properties(gint idx);
gboolean dialogs_show_question(const gchar *text, ...);
@@ -68,6 +60,6 @@
gboolean dialogs_show_question_full(const gchar *yes_btn, const gchar *no_btn,
const gchar *extra_text, const gchar *main_text, ...);
-void dialogs_show_keyboard_shortcuts(void);
+void dialogs_show_keyboard_shortcuts();
#endif
Modified: trunk/src/main.c
===================================================================
--- trunk/src/main.c 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/main.c 2006-09-09 14:36:15 UTC (rev 807)
@@ -550,7 +550,7 @@
#ifdef HAVE_VTE
vte_init();
#endif
- dialogs_create_recent_menu();
+ ui_create_recent_menu();
msgwin_status_add(_("This is Geany %s."), VERSION);
if (config_dir_result != 0)
Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/ui_utils.c 2006-09-09 14:36:15 UTC (rev 807)
@@ -34,14 +34,20 @@
#include "utils.h"
#include "callbacks.h"
#include "encodings.h"
-#include "dialogs.h"
#include "images.c"
#include "treeviews.h"
+#include "keybindings.h"
-static void ui_update_recent_menu();
+static void update_recent_menu();
+static void recreate_recent_menu();
+static void recent_file_loaded(const gchar *utf8_filename);
+static void
+recent_file_activate_cb (GtkMenuItem *menuitem,
+ gpointer user_data);
-static void ui_recreate_recent_menu();
+static GtkWidget *create_build_menu_tex(gint idx);
+static GtkWidget *create_build_menu_gen(gint idx);
/* allow_override is TRUE if text can be ignored when another message has been set
@@ -651,7 +657,7 @@
{
if (ft->menu_items->menu == NULL)
{
- ft->menu_items->menu = dialogs_create_build_menu_gen(idx);
+ ft->menu_items->menu = create_build_menu_gen(idx);
g_object_ref((gpointer)ft->menu_items->menu); // to hold it after removing
}
@@ -687,7 +693,7 @@
{
if (ft->menu_items->menu == NULL)
{
- ft->menu_items->menu = dialogs_create_build_menu_tex(idx);
+ ft->menu_items->menu = create_build_menu_tex(idx);
g_object_ref((gpointer)ft->menu_items->menu); // to hold it after removing
}
if (doc_list[idx].file_name == NULL)
@@ -711,7 +717,7 @@
{
if (ft->menu_items->menu == NULL)
{
- ft->menu_items->menu = dialogs_create_build_menu_gen(idx);
+ ft->menu_items->menu = create_build_menu_gen(idx);
g_object_ref((gpointer)ft->menu_items->menu); // to hold it after removing
}
if (doc_list[idx].file_name == NULL)
@@ -745,6 +751,230 @@
}
+#define GEANY_ADD_WIDGET_ACCEL(gkey, menuitem) \
+ if (keys[(gkey)]->key != 0) \
+ gtk_widget_add_accelerator(menuitem, "activate", accel_group, \
+ keys[(gkey)]->key, keys[(gkey)]->mods, GTK_ACCEL_VISIBLE)
+
+static GtkWidget *create_build_menu_gen(gint idx)
+{
+ GtkWidget *menu, *item = NULL, *image, *separator;
+ GtkAccelGroup *accel_group = gtk_accel_group_new();
+ GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
+ filetype *ft = doc_list[idx].file_type;
+
+ menu = gtk_menu_new();
+
+ if (ft->menu_items->can_compile)
+ {
+ // compile the code
+ item = gtk_image_menu_item_new_with_mnemonic(_("_Compile"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file"), NULL);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_COMPILE, item);
+ image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_compile_activate), NULL);
+ ft->menu_items->item_compile = item;
+ }
+
+ if (ft->menu_items->can_link)
+ { // build the code
+ item = gtk_image_menu_item_new_with_mnemonic(_("_Build"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item,
+ _("Builds the current file (generate an executable file)"), NULL);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_LINK, item);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_build_activate), NULL);
+ ft->menu_items->item_link = item;
+ }
+
+ if (item != NULL)
+ {
+ item = gtk_separator_menu_item_new();
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ }
+
+ // build the code with make all
+ item = gtk_image_menu_item_new_with_mnemonic(_("_Make all"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
+ "make tool and the default target"), NULL);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKE, item);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(0));
+
+ // build the code with make
+ item = gtk_image_menu_item_new_with_mnemonic(_("Make custom _target"));
+ gtk_widget_show(item);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOWNTARGET, item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
+ "make tool and the specified target"), NULL);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(1));
+
+ // build the code with make object
+ item = gtk_image_menu_item_new_with_mnemonic(_("Make _object"));
+ gtk_widget_show(item);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOBJECT, item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file using the "
+ "make tool"), NULL);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(2));
+
+ if (ft->menu_items->can_exec)
+ { // execute the code
+ item = gtk_separator_menu_item_new();
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+
+ item = gtk_image_menu_item_new_from_stock("gtk-execute", accel_group);
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Run or view the current file"), NULL);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_RUN, item);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_execute_activate), NULL);
+ ft->menu_items->item_exec = item;
+ }
+
+ // arguments
+ if (ft->menu_items->can_compile || ft->menu_items->can_link || ft->menu_items->can_exec)
+ {
+ // separator
+ separator = gtk_separator_menu_item_new();
+ gtk_widget_show(separator);
+ gtk_container_add(GTK_CONTAINER(menu), separator);
+ gtk_widget_set_sensitive(separator, FALSE);
+
+ item = gtk_image_menu_item_new_with_mnemonic(_("_Set Includes and Arguments"));
+ gtk_widget_show(item);
+ GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_OPTIONS, item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item,
+ _("Sets the includes and library paths for the compiler and "
+ "the program arguments for execution"), NULL);
+ image = gtk_image_new_from_stock("gtk-preferences", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_arguments_activate), NULL);
+ }
+
+ return menu;
+}
+
+
+static GtkWidget *create_build_menu_tex(gint idx)
+{
+ GtkWidget *menu, *item, *image, *separator;
+ GtkAccelGroup *accel_group = gtk_accel_group_new();
+ GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(app->window, "tooltips"));
+
+ menu = gtk_menu_new();
+
+ // DVI
+ item = gtk_image_menu_item_new_with_mnemonic(_("LaTeX -> DVI"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file into a DVI file"), NULL);
+ if (keys[GEANY_KEYS_BUILD_COMPILE]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_COMPILE]->key,
+ keys[GEANY_KEYS_BUILD_COMPILE]->mods, GTK_ACCEL_VISIBLE);
+ image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(0));
+
+ // PDF
+ item = gtk_image_menu_item_new_with_mnemonic(_("LaTeX -> PDF"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file into a PDF file"), NULL);
+ if (keys[GEANY_KEYS_BUILD_LINK]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_LINK]->key,
+ keys[GEANY_KEYS_BUILD_LINK]->mods, GTK_ACCEL_VISIBLE);
+ image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(1));
+
+ // build the code with make all
+ item = gtk_image_menu_item_new_with_mnemonic(_("Build with \"make\""));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
+ "make tool and the default target"), NULL);
+ if (keys[GEANY_KEYS_BUILD_MAKE]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_MAKE]->key,
+ keys[GEANY_KEYS_BUILD_MAKE]->mods, GTK_ACCEL_VISIBLE);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(0));
+
+ // build the code with make
+ item = gtk_image_menu_item_new_with_mnemonic(_("Build with make (custom target)"));
+ gtk_widget_show(item);
+ if (keys[GEANY_KEYS_BUILD_MAKEOWNTARGET]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_MAKEOWNTARGET]->key,
+ keys[GEANY_KEYS_BUILD_MAKEOWNTARGET]->mods, GTK_ACCEL_VISIBLE);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
+ "make tool and the specified target"), NULL);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_make_activate), GINT_TO_POINTER(1));
+
+ // DVI view
+ item = gtk_image_menu_item_new_with_mnemonic(_("View DVI file"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ if (keys[GEANY_KEYS_BUILD_RUN]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_RUN]->key,
+ keys[GEANY_KEYS_BUILD_RUN]->mods, GTK_ACCEL_VISIBLE);
+ gtk_tooltips_set_tip(tooltips, item, _("Compiles and view the current file"), NULL);
+ image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(2));
+
+ // PDF view
+ item = gtk_image_menu_item_new_with_mnemonic(_("View PDF file"));
+ gtk_widget_show(item);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ if (keys[GEANY_KEYS_BUILD_RUN2]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_RUN2]->key,
+ keys[GEANY_KEYS_BUILD_RUN2]->mods, GTK_ACCEL_VISIBLE);
+ gtk_tooltips_set_tip(tooltips, item, _("Compiles and view the current file"), NULL);
+ image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_activate), GINT_TO_POINTER(3));
+
+ // separator
+ separator = gtk_separator_menu_item_new();
+ gtk_widget_show(separator);
+ gtk_container_add(GTK_CONTAINER(menu), separator);
+ gtk_widget_set_sensitive(separator, FALSE);
+
+ // arguments
+ item = gtk_image_menu_item_new_with_mnemonic(_("Set Arguments"));
+ gtk_widget_show(item);
+ if (keys[GEANY_KEYS_BUILD_OPTIONS]->key)
+ gtk_widget_add_accelerator(item, "activate", accel_group, keys[GEANY_KEYS_BUILD_OPTIONS]->key,
+ keys[GEANY_KEYS_BUILD_OPTIONS]->mods, GTK_ACCEL_VISIBLE);
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ gtk_tooltips_set_tip(tooltips, item,
+ _("Sets the program paths and arguments"), NULL);
+ image = gtk_image_new_from_stock("gtk-preferences", GTK_ICON_SIZE_MENU);
+ gtk_widget_show(image);
+ gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
+ g_signal_connect((gpointer) item, "activate", G_CALLBACK(on_build_tex_arguments_activate), NULL);
+
+ gtk_window_add_accel_group(GTK_WINDOW(app->window), accel_group);
+
+ return menu;
+}
+
+
void ui_treeviews_show_hide(gboolean force)
{
GtkWidget *widget;
@@ -934,23 +1164,79 @@
}
-void ui_add_recent_file(const gchar *filename)
+void ui_create_recent_menu()
{
- if (g_queue_find_custom(app->recent_queue, filename, (GCompareFunc) strcmp) == NULL)
+ GtkWidget *recent_menu = lookup_widget(app->window, "recent_files1_menu");
+ GtkWidget *tmp;
+ guint i;
+ gchar *filename;
+
+ if (g_queue_get_length(app->recent_queue) == 0)
{
- g_queue_push_head(app->recent_queue, g_strdup(filename));
+ gtk_widget_set_sensitive(lookup_widget(app->window, "recent_files1"), FALSE);
+ return;
+ }
+
+ for (i = 0; i < MIN(app->mru_length, g_queue_get_length(app->recent_queue));
+ i++)
+ {
+ filename = g_queue_peek_nth(app->recent_queue, i);
+ tmp = gtk_menu_item_new_with_label(filename);
+ gtk_widget_show(tmp);
+ gtk_menu_shell_append(GTK_MENU_SHELL(recent_menu), tmp);
+ g_signal_connect((gpointer) tmp, "activate",
+ G_CALLBACK(recent_file_activate_cb), (gpointer) filename);
+ }
+}
+
+
+static void
+recent_file_activate_cb (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ gchar *locale_filename = utils_get_locale_from_utf8((gchar*) user_data);
+
+ document_open_file(-1, locale_filename, 0, FALSE, NULL, NULL);
+ recent_file_loaded((gchar*) user_data);
+
+ g_free(locale_filename);
+}
+
+
+void ui_add_recent_file(const gchar *utf8_filename)
+{
+ if (g_queue_find_custom(app->recent_queue, utf8_filename, (GCompareFunc) strcmp) == NULL)
+ {
+ g_queue_push_head(app->recent_queue, g_strdup(utf8_filename));
if (g_queue_get_length(app->recent_queue) > app->mru_length)
{
g_free(g_queue_pop_tail(app->recent_queue));
}
- ui_update_recent_menu();
+ update_recent_menu();
}
- else ui_recent_file_loaded(filename); // filename already in recent list
+ else recent_file_loaded(utf8_filename); // filename already in recent list
}
-static void ui_update_recent_menu()
+static void recent_file_loaded(const gchar *utf8_filename)
{
+ GList *item =
+ g_queue_find_custom(app->recent_queue, utf8_filename, (GCompareFunc) strcmp);
+ gchar *data;
+
+ g_return_if_fail(item != NULL);
+ // first reorder the queue
+ data = item->data;
+ g_queue_remove(app->recent_queue, data);
+ g_queue_push_head(app->recent_queue, data);
+
+ // now recreate the recent files menu
+ recreate_recent_menu();
+}
+
+
+static void update_recent_menu()
+{
GtkWidget *recent_menu = lookup_widget(app->window, "recent_files1_menu");
GtkWidget *recent_files_item = lookup_widget(app->window, "recent_files1");
GtkWidget *tmp;
@@ -984,11 +1270,11 @@
gtk_widget_show(tmp);
gtk_menu_shell_prepend(GTK_MENU_SHELL(recent_menu), tmp);
g_signal_connect((gpointer) tmp, "activate",
- G_CALLBACK(on_recent_file_activate), (gpointer) filename);
+ G_CALLBACK(recent_file_activate_cb), (gpointer) filename);
}
-static void ui_recreate_recent_menu()
+static void recreate_recent_menu()
{
GList *item, *children;
void *data;
@@ -1003,27 +1289,10 @@
if (! GTK_IS_MENU_ITEM(data)) continue;
gtk_widget_destroy(GTK_WIDGET(data));
}
- dialogs_create_recent_menu();
+ ui_create_recent_menu();
}
-void ui_recent_file_loaded(const gchar *filename)
-{
- GList *item =
- g_queue_find_custom(app->recent_queue, filename, (GCompareFunc) strcmp);
- gchar *data;
-
- g_return_if_fail(item != NULL);
- // first reorder the queue
- data = item->data;
- g_queue_remove(app->recent_queue, data);
- g_queue_push_head(app->recent_queue, data);
-
- // now recreate the recent files menu
- ui_recreate_recent_menu();
-}
-
-
void ui_show_markers_margin()
{
gint i, idx, max = gtk_notebook_get_n_pages(GTK_NOTEBOOK(app->notebook));
Modified: trunk/src/ui_utils.h
===================================================================
--- trunk/src/ui_utils.h 2006-09-09 14:26:54 UTC (rev 806)
+++ trunk/src/ui_utils.h 2006-09-09 14:36:15 UTC (rev 807)
@@ -85,9 +85,9 @@
GtkWidget *ui_new_image_from_inline(gint img, gboolean small_img);
-void ui_add_recent_file(const gchar *filename);
+void ui_create_recent_menu();
-void ui_recent_file_loaded(const gchar *filename);
+void ui_add_recent_file(const gchar *utf8_filename);
void ui_show_markers_margin();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list