Branch: refs/heads/master Author: Matthew Brush matt@geany.org Committer: Matthew Brush matt@geany.org Date: Wed, 21 May 2014 19:17:59 UTC Commit: 23d9cad7dcbc93e5f6cfcc5688bc928692c11bcd https://github.com/geany/geany/commit/23d9cad7dcbc93e5f6cfcc5688bc928692c11b...
Log Message: ----------- Start to make it easier to compile the core in isolation
This is for work on making the files scannable by GObject-Introspection but is still useful otherwise (even fixes a FIXME in the comments). I made this by using a simple GNU Make file and trying to compile the sources each on their own without all the build system infrastructure.
* Add keybindingsprivate.h file to hold private GeanyKeyGroup structure and remove it from the GEANY_PRIVATE guard in keybindings.h. * Move private members that were guarded by GEANY_PRIVATE from GeanyFiletypes to GeanyFiletypesPrivate and remove guarded build.h include. * Move private members that were guarded by GEANY_PRIVATE from GeanyProject to GeanyProjectPrivate.
Modified Paths: -------------- src/Makefile.am src/build.c src/editor.c src/filetypes.c src/filetypes.h src/filetypesprivate.h src/keybindings.c src/keybindings.h src/keybindingsprivate.h src/keyfile.c src/main.c src/plugins.c src/prefs.c src/project.c src/project.h src/projectprivate.h src/support.h
Modified: src/Makefile.am 11 lines changed, 9 insertions(+), 2 deletions(-) =================================================================== @@ -1,8 +1,15 @@ ## Process this file with automake to produce Makefile.in
-EXTRA_DIST = gb.c win32.c win32.h plugindata.h \ - documentprivate.h filetypesprivate.h pluginprivate.h projectprivate.h \ +EXTRA_DIST = \ + gb.c \ + win32.c win32.h \ + plugindata.h \ + documentprivate.h \ + filetypesprivate.h \ + keybindingsprivate.h \ + pluginprivate.h \ + projectprivate.h \ makefile.win32
bin_PROGRAMS = geany
Modified: src/build.c 118 lines changed, 59 insertions(+), 59 deletions(-) =================================================================== @@ -53,10 +53,10 @@ #include "ui_utils.h" #include "dialogs.h" #include "msgwindow.h" -#include "filetypes.h" +#include "filetypesprivate.h" #include "keybindings.h" #include "vte.h" -#include "project.h" +#include "projectprivate.h" #include "editor.h" #include "win32.h" #include "toolbar.h" @@ -249,13 +249,13 @@ static void printfcmds(void) if (ft != NULL) { printf("filetype %s\n",ft->name); - cl[GEANY_GBG_FT][GEANY_BCS_FT] = &(ft->filecmds); - cl[GEANY_GBG_FT][GEANY_BCS_HOME_FT] = &(ft->homefilecmds); - cl[GEANY_GBG_FT][GEANY_BCS_PROJ] = &(ft->projfilecmds); - cl[GEANY_GBG_NON_FT][GEANY_BCS_FT] = &(ft->ftdefcmds); - cl[GEANY_GBG_EXEC][GEANY_BCS_FT] = &(ft->execcmds); - cl[GEANY_GBG_EXEC][GEANY_BCS_HOME_FT] = &(ft->homeexeccmds); - cl[GEANY_GBG_EXEC][GEANY_BCS_PROJ_FT] = &(ft->projexeccmds); + cl[GEANY_GBG_FT][GEANY_BCS_FT] = &(ft->priv->filecmds); + cl[GEANY_GBG_FT][GEANY_BCS_HOME_FT] = &(ft->priv->homefilecmds); + cl[GEANY_GBG_FT][GEANY_BCS_PROJ] = &(ft->priv->projfilecmds); + cl[GEANY_GBG_NON_FT][GEANY_BCS_FT] = &(ft->priv->ftdefcmds); + cl[GEANY_GBG_EXEC][GEANY_BCS_FT] = &(ft->priv->execcmds); + cl[GEANY_GBG_EXEC][GEANY_BCS_HOME_FT] = &(ft->priv->homeexeccmds); + cl[GEANY_GBG_EXEC][GEANY_BCS_PROJ_FT] = &(ft->priv->projexeccmds); } for (i = 0; i < GEANY_BCS_COUNT; ++i) { @@ -320,13 +320,13 @@ static void printfcmds(void) }
#define return_ft_cmd_if(src, cmds)\ - if (ft != NULL && ft->cmds != NULL \ - && ft->cmds[cmdindex].exists && below>src)\ + if (ft != NULL && ft->priv->cmds != NULL \ + && ft->priv->cmds[cmdindex].exists && below>src)\ { \ *fr=src; \ if (printbuildcmds) \ printf("cmd[%u,%u]=%u\n",cmdgrp,cmdindex,src); \ - return &(ft->cmds[cmdindex]); \ + return &(ft->priv->cmds[cmdindex]); \ }
@@ -412,8 +412,8 @@ gchar **build_get_regex(GeanyBuildGroup grp, GeanyFiletype *ft, guint *from) } if (ft == NULL) return NULL; - return_nonblank_regex(GEANY_BCS_PROJ, ft->projerror_regex_string); - return_nonblank_regex(GEANY_BCS_HOME_FT, ft->homeerror_regex_string); + return_nonblank_regex(GEANY_BCS_PROJ, ft->priv->projerror_regex_string); + return_nonblank_regex(GEANY_BCS_HOME_FT, ft->priv->homeerror_regex_string); return_nonblank_regex(GEANY_BCS_FT, ft->error_regex_string); } else if (grp == GEANY_GBG_NON_FT) @@ -439,11 +439,11 @@ static GeanyBuildCommand **get_build_group_pointer(const GeanyBuildSource src, c return NULL; switch (src) { - case GEANY_BCS_DEF: return &(ft->ftdefcmds); - case GEANY_BCS_FT: return &(ft->filecmds); - case GEANY_BCS_HOME_FT: return &(ft->homefilecmds); - case GEANY_BCS_PREF: return &(ft->homefilecmds); - case GEANY_BCS_PROJ: return &(ft->projfilecmds); + case GEANY_BCS_DEF: return &(ft->priv->ftdefcmds); + case GEANY_BCS_FT: return &(ft->priv->filecmds); + case GEANY_BCS_HOME_FT: return &(ft->priv->homefilecmds); + case GEANY_BCS_PREF: return &(ft->priv->homefilecmds); + case GEANY_BCS_PROJ: return &(ft->priv->projfilecmds); default: return NULL; } break; @@ -462,9 +462,9 @@ static GeanyBuildCommand **get_build_group_pointer(const GeanyBuildSource src, c switch (src) { case GEANY_BCS_DEF: return &(exec_def); - case GEANY_BCS_FT: return ft ? &(ft->execcmds): NULL; - case GEANY_BCS_HOME_FT: return ft ? &(ft->homeexeccmds): NULL; - case GEANY_BCS_PROJ_FT: return ft ? &(ft->projexeccmds): NULL; + case GEANY_BCS_FT: return ft ? &(ft->priv->execcmds): NULL; + case GEANY_BCS_HOME_FT: return ft ? &(ft->priv->homeexeccmds): NULL; + case GEANY_BCS_PROJ_FT: return ft ? &(ft->priv->projexeccmds): NULL; case GEANY_BCS_PREF: return &(exec_pref); case GEANY_BCS_PROJ: return &(exec_proj); default: return NULL; @@ -2320,8 +2320,8 @@ void build_read_project(GeanyFiletype *ft, BuildTableData build_properties)
if (ft != NULL) { - menu_dst.dst[GEANY_GBG_FT] = &(ft->projfilecmds); - menu_dst.fileregexstr = &(ft->projerror_regex_string); + menu_dst.dst[GEANY_GBG_FT] = &(ft->priv->projfilecmds); + menu_dst.fileregexstr = &(ft->priv->projerror_regex_string); } else { @@ -2362,9 +2362,9 @@ static void show_build_commands_dialog(void) prefdsts.dst[GEANY_GBG_NON_FT] = &non_ft_pref; if (ft != NULL) { - prefdsts.dst[GEANY_GBG_FT] = &(ft->homefilecmds); - prefdsts.fileregexstr = &(ft->homeerror_regex_string); - prefdsts.dst[GEANY_GBG_EXEC] = &(ft->homeexeccmds); + prefdsts.dst[GEANY_GBG_FT] = &(ft->priv->homefilecmds); + prefdsts.fileregexstr = &(ft->priv->homeerror_regex_string); + prefdsts.dst[GEANY_GBG_EXEC] = &(ft->priv->homeexeccmds); } else { @@ -2474,9 +2474,9 @@ void build_load_menu(GKeyFile *config, GeanyBuildSource src, gpointer p) ft = (GeanyFiletype*)p; if (ft == NULL) return; - build_load_menu_grp(config, &(ft->filecmds), GEANY_GBG_FT, NULL, TRUE); - build_load_menu_grp(config, &(ft->ftdefcmds), GEANY_GBG_NON_FT, NULL, TRUE); - build_load_menu_grp(config, &(ft->execcmds), GEANY_GBG_EXEC, NULL, TRUE); + build_load_menu_grp(config, &(ft->priv->filecmds), GEANY_GBG_FT, NULL, TRUE); + build_load_menu_grp(config, &(ft->priv->ftdefcmds), GEANY_GBG_NON_FT, NULL, TRUE); + build_load_menu_grp(config, &(ft->priv->execcmds), GEANY_GBG_EXEC, NULL, TRUE); SETPTR(ft->error_regex_string, g_key_file_get_string(config, build_grp_name, "error_regex", NULL)); break; @@ -2484,9 +2484,9 @@ void build_load_menu(GKeyFile *config, GeanyBuildSource src, gpointer p) ft = (GeanyFiletype*)p; if (ft == NULL) return; - build_load_menu_grp(config, &(ft->homefilecmds), GEANY_GBG_FT, NULL, FALSE); - build_load_menu_grp(config, &(ft->homeexeccmds), GEANY_GBG_EXEC, NULL, FALSE); - SETPTR(ft->homeerror_regex_string, + build_load_menu_grp(config, &(ft->priv->homefilecmds), GEANY_GBG_FT, NULL, FALSE); + build_load_menu_grp(config, &(ft->priv->homeexeccmds), GEANY_GBG_EXEC, NULL, FALSE); + SETPTR(ft->priv->homeerror_regex_string, g_key_file_get_string(config, build_grp_name, "error_regex", NULL)); break; case GEANY_BCS_PREF: @@ -2505,21 +2505,21 @@ void build_load_menu(GKeyFile *config, GeanyBuildSource src, gpointer p) if (ftlist != NULL) { gchar **ftname; - if (pj->build_filetypes_list == NULL) - pj->build_filetypes_list = g_ptr_array_new(); - g_ptr_array_set_size(pj->build_filetypes_list, 0); + if (pj->priv->build_filetypes_list == NULL) + pj->priv->build_filetypes_list = g_ptr_array_new(); + g_ptr_array_set_size(pj->priv->build_filetypes_list, 0); for (ftname = ftlist; *ftname != NULL; ++ftname) { ft = filetypes_lookup_by_name(*ftname); if (ft != NULL) { gchar *regkey = g_strdup_printf("%serror_regex", *ftname); - g_ptr_array_add(pj->build_filetypes_list, ft); - SETPTR(ft->projerror_regex_string, + g_ptr_array_add(pj->priv->build_filetypes_list, ft); + SETPTR(ft->priv->projerror_regex_string, g_key_file_get_string(config, build_grp_name, regkey, NULL)); g_free(regkey); - build_load_menu_grp(config, &(ft->projfilecmds), GEANY_GBG_FT, *ftname, FALSE); - build_load_menu_grp(config, &(ft->projexeccmds), GEANY_GBG_EXEC, *ftname, FALSE); + build_load_menu_grp(config, &(ft->priv->projfilecmds), GEANY_GBG_FT, *ftname, FALSE); + build_load_menu_grp(config, &(ft->priv->projexeccmds), GEANY_GBG_EXEC, *ftname, FALSE); } } g_free(ftlist); @@ -2554,23 +2554,23 @@ void build_load_menu(GKeyFile *config, GeanyBuildSource src, gpointer p) value = g_key_file_get_string(config, "build_settings", "compiler", NULL); if (value != NULL) { - if (ft->filecmds == NULL) - ft->filecmds = g_new0(GeanyBuildCommand, build_groups_count[GEANY_GBG_FT]); - ASSIGNIF(ft->filecmds, GEANY_GBO_COMPILE, _("_Compile"), value); + if (ft->priv->filecmds == NULL) + ft->priv->filecmds = g_new0(GeanyBuildCommand, build_groups_count[GEANY_GBG_FT]); + ASSIGNIF(ft->priv->filecmds, GEANY_GBO_COMPILE, _("_Compile"), value); } value = g_key_file_get_string(config, "build_settings", "linker", NULL); if (value != NULL) { - if (ft->filecmds == NULL) - ft->filecmds = g_new0(GeanyBuildCommand, build_groups_count[GEANY_GBG_FT]); - ASSIGNIF(ft->filecmds, GEANY_GBO_BUILD, _("_Build"), value); + if (ft->priv->filecmds == NULL) + ft->priv->filecmds = g_new0(GeanyBuildCommand, build_groups_count[GEANY_GBG_FT]); + ASSIGNIF(ft->priv->filecmds, GEANY_GBO_BUILD, _("_Build"), value); } value = g_key_file_get_string(config, "build_settings", "run_cmd", NULL); if (value != NULL) { - if (ft->execcmds == NULL) - ft->execcmds = g_new0(GeanyBuildCommand, build_groups_count[GEANY_GBG_EXEC]); - ASSIGNIF(ft->execcmds, GEANY_GBO_EXEC, _("_Execute"), value); + if (ft->priv->execcmds == NULL) + ft->priv->execcmds = g_new0(GeanyBuildCommand, build_groups_count[GEANY_GBG_EXEC]); + ASSIGNIF(ft->priv->execcmds, GEANY_GBO_EXEC, _("_Execute"), value); } if (ft->error_regex_string == NULL) ft->error_regex_string = g_key_file_get_string(config, "build_settings", "error_regex", NULL); @@ -2688,11 +2688,11 @@ static void foreach_project_filetype(gpointer data, gpointer user_data) guint i = 0; gchar *regkey = g_strdup_printf("%serror_regex", ft->name);
- i += build_save_menu_grp(d->config, ft->projfilecmds, GEANY_GBG_FT, ft->name); - i += build_save_menu_grp(d->config, ft->projexeccmds, GEANY_GBG_EXEC, ft->name); - if (!EMPTY(ft->projerror_regex_string)) + i += build_save_menu_grp(d->config, ft->priv->projfilecmds, GEANY_GBG_FT, ft->name); + i += build_save_menu_grp(d->config, ft->priv->projexeccmds, GEANY_GBG_EXEC, ft->name); + if (!EMPTY(ft->priv->projerror_regex_string)) { - g_key_file_set_string(d->config, build_grp_name, regkey, ft->projerror_regex_string); + g_key_file_set_string(d->config, build_grp_name, regkey, ft->priv->projerror_regex_string); i++; } else @@ -2716,10 +2716,10 @@ void build_save_menu(GKeyFile *config, gpointer ptr, GeanyBuildSource src) ft = (GeanyFiletype*)ptr; if (ft == NULL) return; - build_save_menu_grp(config, ft->homefilecmds, GEANY_GBG_FT, NULL); - build_save_menu_grp(config, ft->homeexeccmds, GEANY_GBG_EXEC, NULL); - if (!EMPTY(ft->homeerror_regex_string)) - g_key_file_set_string(config, build_grp_name, "error_regex", ft->homeerror_regex_string); + build_save_menu_grp(config, ft->priv->homefilecmds, GEANY_GBG_FT, NULL); + build_save_menu_grp(config, ft->priv->homeexeccmds, GEANY_GBG_EXEC, NULL); + if (!EMPTY(ft->priv->homeerror_regex_string)) + g_key_file_set_string(config, build_grp_name, "error_regex", ft->priv->homeerror_regex_string); else g_key_file_remove_key(config, build_grp_name, "error_regex", NULL); break; @@ -2739,11 +2739,11 @@ void build_save_menu(GKeyFile *config, gpointer ptr, GeanyBuildSource src) g_key_file_set_string(config, build_grp_name, "error_regex", regex_proj); else g_key_file_remove_key(config, build_grp_name, "error_regex", NULL); - if (pj->build_filetypes_list != NULL) + if (pj->priv->build_filetypes_list != NULL) { data.config = config; data.ft_names = g_ptr_array_new(); - g_ptr_array_foreach(pj->build_filetypes_list, foreach_project_filetype, (gpointer)(&data)); + g_ptr_array_foreach(pj->priv->build_filetypes_list, foreach_project_filetype, (gpointer)(&data)); if (data.ft_names->pdata != NULL) g_key_file_set_string_list(config, build_grp_name, "filetypes", (const gchar**)(data.ft_names->pdata), data.ft_names->len);
Modified: src/editor.c 6 lines changed, 3 insertions(+), 3 deletions(-) =================================================================== @@ -375,7 +375,7 @@ static gboolean is_style_php(gint style) static gint editor_get_long_line_type(void) { if (app->project) - switch (app->project->long_line_behaviour) + switch (app->project->priv->long_line_behaviour) { case 0: /* marker disabled */ return 2; @@ -394,8 +394,8 @@ static gint editor_get_long_line_type(void)
static gint editor_get_long_line_column(void) { - if (app->project && app->project->long_line_behaviour != 1 /* use global settings */) - return app->project->long_line_column; + if (app->project && app->project->priv->long_line_behaviour != 1 /* use global settings */) + return app->project->priv->long_line_column; else return editor_prefs.long_line_column; }
Modified: src/filetypes.c 9 lines changed, 5 insertions(+), 4 deletions(-) =================================================================== @@ -201,11 +201,12 @@ static GeanyFiletype *filetype_new(void) ft->lang = -2; /* assume no tagmanager parser */ /* pattern must not be null */ ft->pattern = g_new0(gchar*, 1); - ft->project_list_entry = -1; /* no entry */ ft->indent_width = -1; ft->indent_type = -1;
ft->priv = g_new0(GeanyFiletypePrivate, 1); + ft->priv->project_list_entry = -1; /* no entry */ + return ft; }
@@ -805,9 +806,9 @@ static void filetype_free(gpointer data, G_GNUC_UNUSED gpointer user_data) g_free(ft->comment_close); g_free(ft->comment_single); g_free(ft->context_action_cmd); - g_free(ft->filecmds); - g_free(ft->ftdefcmds); - g_free(ft->execcmds); + g_free(ft->priv->filecmds); + g_free(ft->priv->ftdefcmds); + g_free(ft->priv->execcmds); g_free(ft->error_regex_string); if (ft->icon) g_object_unref(ft->icon);
Modified: src/filetypes.h 18 lines changed, 0 insertions(+), 18 deletions(-) =================================================================== @@ -28,10 +28,6 @@ G_BEGIN_DECLS #include "Scintilla.h" #include "ScintillaWidget.h"
-#ifdef GEANY_PRIVATE -#include "build.h" -#endif -
/* Do not change the order, only append. */ typedef enum @@ -147,20 +143,6 @@ struct GeanyFiletype gint indent_width;
struct GeanyFiletypePrivate *priv; /* must be last, append fields before this item */ -#ifdef GEANY_PRIVATE - /* Do not use following fields in plugins */ - /* TODO: move these fields into filetypesprivate.h */ - GeanyBuildCommand *filecmds; - GeanyBuildCommand *ftdefcmds; - GeanyBuildCommand *execcmds; - GeanyBuildCommand *homefilecmds; - GeanyBuildCommand *homeexeccmds; - GeanyBuildCommand *projfilecmds; - GeanyBuildCommand *projexeccmds; - gint project_list_entry; - gchar *projerror_regex_string; - gchar *homeerror_regex_string; -#endif };
extern GPtrArray *filetypes_array;
Modified: src/filetypesprivate.h 15 lines changed, 15 insertions(+), 0 deletions(-) =================================================================== @@ -23,6 +23,9 @@ #ifndef GEANY_FILETYPES_PRIVATE_H #define GEANY_FILETYPES_PRIVATE_H
+#include "filetypes.h" +#include "build.h" + /* Private GeanyFiletype fields */ typedef struct GeanyFiletypePrivate { @@ -35,6 +38,18 @@ typedef struct GeanyFiletypePrivate gboolean xml_indent_tags; /* XML tag autoindentation, for HTML and XML filetypes */ GSList *tag_files; gboolean warn_color_scheme; + + /* TODO: move to structure in build.h and only put a pointer here */ + GeanyBuildCommand *filecmds; + GeanyBuildCommand *ftdefcmds; + GeanyBuildCommand *execcmds; + GeanyBuildCommand *homefilecmds; + GeanyBuildCommand *homeexeccmds; + GeanyBuildCommand *projfilecmds; + GeanyBuildCommand *projexeccmds; + gint project_list_entry; + gchar *projerror_regex_string; + gchar *homeerror_regex_string; } GeanyFiletypePrivate;
Modified: src/keybindings.c 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -33,7 +33,7 @@ #include <gdk/gdkkeysyms.h> #include <string.h>
-#include "keybindings.h" +#include "keybindingsprivate.h" #include "support.h" #include "utils.h" #include "ui_utils.h"
Modified: src/keybindings.h 14 lines changed, 0 insertions(+), 14 deletions(-) =================================================================== @@ -57,20 +57,6 @@ typedef gboolean (*GeanyKeyGroupCallback) (guint key_id); /** A collection of keybindings grouped together. */ typedef struct GeanyKeyGroup GeanyKeyGroup;
-/* Plugins should not set these fields. */ -#ifdef GEANY_PRIVATE -struct GeanyKeyGroup -{ - const gchar *name; /* Group name used in the configuration file, such as @c "html_chars" */ - const gchar *label; /* Group label used in the preferences dialog keybindings tab */ - GeanyKeyGroupCallback callback; /* use this or individual keybinding callbacks */ - gboolean plugin; /* used by plugin */ - GPtrArray *key_items; /* pointers to GeanyKeyBinding structs */ - gsize plugin_key_count; /* number of keybindings the group holds */ - GeanyKeyBinding *plugin_keys; /* array of GeanyKeyBinding structs */ -}; -#endif -
extern GPtrArray *keybinding_groups; /* array of GeanyKeyGroup pointers */
Modified: src/keybindingsprivate.h 44 lines changed, 44 insertions(+), 0 deletions(-) =================================================================== @@ -0,0 +1,44 @@ +/* + * keybindingsprivate.h - this file is part of Geany, a fast and lightweight IDE + * + * Copyright 2006-2014 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de> + * Copyright 2006-2014 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com> + * Copyright 2014 Matthew Brush matt@geany.org + * + * 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. + */ + +#ifndef GEANY_KEYBINDINGS_PRIVATE_H +#define GEANY_KEYBINDINGS_PRIVATE_H 1 + +#include <glib.h> +#include "keybindings.h" + +G_BEGIN_DECLS + +struct GeanyKeyGroup +{ + const gchar *name; /* Group name used in the configuration file, such as @c "html_chars" */ + const gchar *label; /* Group label used in the preferences dialog keybindings tab */ + GeanyKeyGroupCallback callback; /* use this or individual keybinding callbacks */ + gboolean plugin; /* used by plugin */ + GPtrArray *key_items; /* pointers to GeanyKeyBinding structs */ + gsize plugin_key_count; /* number of keybindings the group holds */ + GeanyKeyBinding *plugin_keys; /* array of GeanyKeyBinding structs */ +}; + +G_END_DECLS + +#endif /* GEANY_KEYBINDINGS_PRIVATE_H */
Modified: src/keyfile.c 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -59,6 +59,7 @@ #include "templates.h" #include "toolbar.h" #include "stash.h" +#include "build.h"
/* some default settings which are used at the very first start of Geany to fill
Modified: src/main.c 1 lines changed, 1 insertions(+), 0 deletions(-) =================================================================== @@ -553,6 +553,7 @@ static void parse_command_line_options(gint *argc, gchar ***argv) }
context = g_option_context_new(_("[FILES...]")); + g_option_context_add_main_entries(context, entries, GETTEXT_PACKAGE); g_option_group_set_translation_domain(g_option_context_get_main_group(context), GETTEXT_PACKAGE); g_option_context_add_group(context, gtk_get_option_group(FALSE));
Modified: src/plugins.c 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -49,7 +49,7 @@ #include "encodings.h" #include "search.h" #include "highlighting.h" -#include "keybindings.h" +#include "keybindingsprivate.h" #include "navqueue.h" #include "main.h" #include "toolbar.h"
Modified: src/prefs.c 2 lines changed, 1 insertions(+), 1 deletions(-) =================================================================== @@ -45,7 +45,7 @@ #include "documentprivate.h" #include "msgwindow.h" #include "keyfile.h" -#include "keybindings.h" +#include "keybindingsprivate.h" #include "encodings.h" #include "project.h" #include "editor.h"
Modified: src/project.c 52 lines changed, 26 insertions(+), 26 deletions(-) =================================================================== @@ -45,7 +45,7 @@ #include "editor.h" #include "stash.h" #include "sidebar.h" -#include "filetypes.h" +#include "filetypesprivate.h"
ProjectPrefs project_prefs = { NULL, FALSE, FALSE }; @@ -338,10 +338,10 @@ static void remove_foreach_project_filetype(gpointer data, gpointer user_data) GeanyFiletype *ft = data; if (ft != NULL) { - SETPTR(ft->projfilecmds, NULL); - SETPTR(ft->projexeccmds, NULL); - SETPTR(ft->projerror_regex_string, NULL); - ft->project_list_entry = -1; + SETPTR(ft->priv->projfilecmds, NULL); + SETPTR(ft->priv->projexeccmds, NULL); + SETPTR(ft->priv->projerror_regex_string, NULL); + ft->priv->project_list_entry = -1; } }
@@ -366,10 +366,10 @@ void project_close(gboolean open_default) ui_set_statusbar(TRUE, _("Project "%s" closed."), app->project->name);
/* remove project filetypes build entries */ - if (app->project->build_filetypes_list != NULL) + if (app->project->priv->build_filetypes_list != NULL) { - g_ptr_array_foreach(app->project->build_filetypes_list, remove_foreach_project_filetype, NULL); - g_ptr_array_free(app->project->build_filetypes_list, FALSE); + g_ptr_array_foreach(app->project->priv->build_filetypes_list, remove_foreach_project_filetype, NULL); + g_ptr_array_free(app->project->priv->build_filetypes_list, FALSE); }
/* remove project non filetype build menu items */ @@ -523,7 +523,7 @@ static void show_project_properties(gboolean show_build) gtk_entry_set_text(GTK_ENTRY(e.base_path), p->base_path);
radio_long_line_custom = ui_lookup_widget(e.dialog, "radio_long_line_custom_project"); - switch (p->long_line_behaviour) + switch (p->priv->long_line_behaviour) { case 0: widget = ui_lookup_widget(e.dialog, "radio_long_line_disabled_project"); break; case 1: widget = ui_lookup_widget(e.dialog, "radio_long_line_default_project"); break; @@ -532,7 +532,7 @@ static void show_project_properties(gboolean show_build) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
widget = ui_lookup_widget(e.dialog, "spin_long_line_project"); - gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), (gdouble)p->long_line_column); + gtk_spin_button_set_value(GTK_SPIN_BUTTON(widget), (gdouble)p->priv->long_line_column); on_radio_long_line_custom_toggled(GTK_TOGGLE_BUTTON(radio_long_line_custom), widget);
if (p->description != NULL) @@ -627,8 +627,8 @@ static GeanyProject *create_project(void)
project->file_patterns = NULL;
- project->long_line_behaviour = 1 /* use global settings */; - project->long_line_column = editor_prefs.long_line_column; + project->priv->long_line_behaviour = 1 /* use global settings */; + project->priv->long_line_column = editor_prefs.long_line_column;
app->project = project; return project; @@ -756,33 +756,33 @@ static gboolean update_config(const PropertyDialogElements *e, gboolean new_proj stash_group_update(node->data, e->dialog);
/* read the project build menu */ - oldvalue = ft ? ft->projfilecmds : NULL; + oldvalue = ft ? ft->priv->projfilecmds : NULL; build_read_project(ft, e->build_properties);
- if (ft != NULL && ft->projfilecmds != oldvalue && ft->project_list_entry < 0) + if (ft != NULL && ft->priv->projfilecmds != oldvalue && ft->priv->project_list_entry < 0) { - if (p->build_filetypes_list == NULL) - p->build_filetypes_list = g_ptr_array_new(); - ft->project_list_entry = p->build_filetypes_list->len; - g_ptr_array_add(p->build_filetypes_list, ft); + if (p->priv->build_filetypes_list == NULL) + p->priv->build_filetypes_list = g_ptr_array_new(); + ft->priv->project_list_entry = p->priv->build_filetypes_list->len; + g_ptr_array_add(p->priv->build_filetypes_list, ft); } build_menu_update(doc);
widget = ui_lookup_widget(e->dialog, "radio_long_line_disabled_project"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) - p->long_line_behaviour = 0; + p->priv->long_line_behaviour = 0; else { widget = ui_lookup_widget(e->dialog, "radio_long_line_default_project"); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) - p->long_line_behaviour = 1; + p->priv->long_line_behaviour = 1; else /* "Custom" radio button must be checked */ - p->long_line_behaviour = 2; + p->priv->long_line_behaviour = 2; }
widget = ui_lookup_widget(e->dialog, "spin_long_line_project"); - p->long_line_column = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); + p->priv->long_line_column = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(widget)); apply_editor_prefs();
/* get and set the project file patterns */ @@ -993,9 +993,9 @@ static gboolean load_config(const gchar *filename) p->base_path = utils_get_setting_string(config, "project", "base_path", ""); p->file_patterns = g_key_file_get_string_list(config, "project", "file_patterns", NULL, NULL);
- p->long_line_behaviour = utils_get_setting_integer(config, "long line marker", + p->priv->long_line_behaviour = utils_get_setting_integer(config, "long line marker", "long_line_behaviour", 1 /* follow global */); - p->long_line_column = utils_get_setting_integer(config, "long line marker", + p->priv->long_line_column = utils_get_setting_integer(config, "long line marker", "long_line_column", editor_prefs.long_line_column); apply_editor_prefs();
@@ -1062,8 +1062,8 @@ static gboolean write_config(gboolean emit_signal) g_key_file_set_string_list(config, "project", "file_patterns", (const gchar**) p->file_patterns, g_strv_length(p->file_patterns));
- g_key_file_set_integer(config, "long line marker", "long_line_behaviour", p->long_line_behaviour); - g_key_file_set_integer(config, "long line marker", "long_line_column", p->long_line_column); + g_key_file_set_integer(config, "long line marker", "long_line_behaviour", p->priv->long_line_behaviour); + g_key_file_set_integer(config, "long line marker", "long_line_column", p->priv->long_line_column);
/* store the session files into the project too */ if (project_prefs.project_session)
Modified: src/project.h 6 lines changed, 0 insertions(+), 6 deletions(-) =================================================================== @@ -41,12 +41,6 @@ typedef struct GeanyProject gchar **file_patterns; /**< Array of filename extension patterns. */
struct GeanyProjectPrivate *priv; /* must be last, append fields before this item */ -#ifdef GEANY_PRIVATE - /* Do not use following fields in plugins */ - GPtrArray *build_filetypes_list; /* Project has custom filetype builds for these. */ - gint long_line_behaviour; /* 0 - disabled, 1 - follow global settings, 2 - enabled (custom) */ - gint long_line_column; /* Long line marker position. */ -#endif } GeanyProject;
Modified: src/projectprivate.h 4 lines changed, 4 insertions(+), 0 deletions(-) =================================================================== @@ -23,6 +23,7 @@ #ifndef GEANY_PROJECTPRIVATE_H #define GEANY_PROJECTPRIVATE_H 1
+#include "project.h"
typedef struct GeanyProjectPrivate { @@ -31,6 +32,9 @@ typedef struct GeanyProjectPrivate gboolean strip_trailing_spaces; gboolean replace_tabs; gboolean ensure_convert_new_lines; + GPtrArray *build_filetypes_list; /* Project has custom filetype builds for these. */ + gint long_line_behaviour; /* 0 - disabled, 1 - follow global settings, 2 - enabled (custom) */ + gint long_line_column; /* Long line marker position. */ } GeanyProjectPrivate;
Modified: src/support.h 4 lines changed, 2 insertions(+), 2 deletions(-) =================================================================== @@ -25,9 +25,9 @@ * @see GLib's @c gi18n-lib.h. **/
-G_BEGIN_DECLS +#include <glib.h>
-#include "geany.h" +G_BEGIN_DECLS
#ifdef GETTEXT_PACKAGE # include <glib/gi18n-lib.h>
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).