Skip to content

Commit

Permalink
Move include insert callbacks to the UI code where they belong
Browse files Browse the repository at this point in the history
  • Loading branch information
b4n committed Jun 26, 2014
1 parent 00ec175 commit a51bc3d
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 53 deletions.
44 changes: 0 additions & 44 deletions src/callbacks.c
Expand Up @@ -1359,50 +1359,6 @@ void on_menu_insert_date_activate(GtkMenuItem *menuitem, gpointer user_data)
}


/* @include include name or NULL for empty with cursor ready for typing it */
static void insert_include(GeanyDocument *doc, gint pos, const gchar *include)
{
gint pos_after = -1;
gchar *text;

g_return_if_fail(doc != NULL);
g_return_if_fail(include != NULL);
g_return_if_fail(pos == -1 || pos >= 0);

if (pos == -1)
pos = sci_get_current_position(doc->editor->sci);

if (utils_str_equal(include, "blank"))
{
text = g_strdup("#include \"\"\n");
pos_after = pos + 10;
}
else
{
text = g_strconcat("#include <", include, ">\n", NULL);
}

sci_start_undo_action(doc->editor->sci);
sci_insert_text(doc->editor->sci, pos, text);
sci_end_undo_action(doc->editor->sci);
g_free(text);
if (pos_after >= 0)
sci_goto_pos(doc->editor->sci, pos_after, FALSE);
}


void on_insert_include_activate(GtkMenuItem *menuitem, gpointer user_data)
{
insert_include(document_get_current(), editor_info.click_pos, user_data);
}


void on_menu_insert_include_activate(GtkMenuItem *menuitem, gpointer user_data)
{
insert_include(document_get_current(), -1, user_data);
}


G_MODULE_EXPORT void on_file_properties_activate(GtkMenuItem *menuitem, gpointer user_data)
{
GeanyDocument *doc = document_get_current();
Expand Down
4 changes: 0 additions & 4 deletions src/callbacks.h
Expand Up @@ -104,8 +104,6 @@ void on_toolbutton_compile_clicked(GtkAction *action, gpointer user_data);

G_MODULE_EXPORT void on_line_wrapping1_toggled(GtkCheckMenuItem *checkmenuitem, gpointer user_data);

void on_insert_include_activate(GtkMenuItem *menuitem, gpointer user_data);

void on_insert_date_activate(GtkMenuItem *menuitem, gpointer user_data);

void on_toolbutton_goto_entry_activate(GtkAction *action, const gchar *text, gpointer user_data);
Expand Down Expand Up @@ -134,8 +132,6 @@ G_MODULE_EXPORT void on_menu_toggle_line_commentation1_activate(GtkMenuItem *men

G_MODULE_EXPORT void on_next_message1_activate(GtkMenuItem *menuitem, gpointer user_data);

void on_menu_insert_include_activate(GtkMenuItem *menuitem, gpointer user_data);

void on_menu_insert_date_activate(GtkMenuItem *menuitem, gpointer user_data);

G_MODULE_EXPORT void on_project_new1_activate(GtkMenuItem *menuitem, gpointer user_data);
Expand Down
51 changes: 46 additions & 5 deletions src/ui_utils.c
Expand Up @@ -553,6 +553,49 @@ void ui_update_fold_items(void)
}


/* @include include name or NULL for empty with cursor ready for typing it */
static void insert_include(GeanyDocument *doc, gint pos, const gchar *include)
{
gint pos_after = -1;
gchar *text;

g_return_if_fail(doc != NULL);
g_return_if_fail(pos == -1 || pos >= 0);

if (pos == -1)
pos = sci_get_current_position(doc->editor->sci);

if (! include)
{
text = g_strdup("#include \"\"\n");
pos_after = pos + 10;
}
else
{
text = g_strconcat("#include <", include, ">\n", NULL);
}

sci_start_undo_action(doc->editor->sci);
sci_insert_text(doc->editor->sci, pos, text);
sci_end_undo_action(doc->editor->sci);
g_free(text);
if (pos_after >= 0)
sci_goto_pos(doc->editor->sci, pos_after, FALSE);
}


static void on_popup_insert_include_activate(GtkMenuItem *menuitem, gpointer user_data)
{
insert_include(document_get_current(), editor_info.click_pos, user_data);
}


static void on_menu_insert_include_activate(GtkMenuItem *menuitem, gpointer user_data)
{
insert_include(document_get_current(), -1, user_data);
}


static void insert_include_items(GtkMenu *me, GtkMenu *mp, gchar **includes, gchar *label)
{
guint i = 0;
Expand All @@ -577,7 +620,7 @@ static void insert_include_items(GtkMenu *me, GtkMenu *mp, gchar **includes, gch
g_signal_connect(tmp_menu, "activate",
G_CALLBACK(on_menu_insert_include_activate), (gpointer) includes[i]);
g_signal_connect(tmp_popup, "activate",
G_CALLBACK(on_insert_include_activate), (gpointer) includes[i]);
G_CALLBACK(on_popup_insert_include_activate), (gpointer) includes[i]);
i++;
}
gtk_widget_show_all(edit_menu_item);
Expand Down Expand Up @@ -615,17 +658,15 @@ void ui_create_insert_menu_items(void)
blank = gtk_menu_item_new_with_label("#include \"...\"");
gtk_container_add(GTK_CONTAINER(menu_edit), blank);
gtk_widget_show(blank);
g_signal_connect(blank, "activate", G_CALLBACK(on_menu_insert_include_activate),
(gpointer) "blank");
g_signal_connect(blank, "activate", G_CALLBACK(on_menu_insert_include_activate), NULL);
blank = gtk_separator_menu_item_new ();
gtk_container_add(GTK_CONTAINER(menu_edit), blank);
gtk_widget_show(blank);

blank = gtk_menu_item_new_with_label("#include \"...\"");
gtk_container_add(GTK_CONTAINER(menu_popup), blank);
gtk_widget_show(blank);
g_signal_connect(blank, "activate", G_CALLBACK(on_insert_include_activate),
(gpointer) "blank");
g_signal_connect(blank, "activate", G_CALLBACK(on_popup_insert_include_activate), NULL);
blank = gtk_separator_menu_item_new();
gtk_container_add(GTK_CONTAINER(menu_popup), blank);
gtk_widget_show(blank);
Expand Down

0 comments on commit a51bc3d

Please sign in to comment.