Kaydet (Commit) a7361b64 authored tarafından Enrico Tröger's avatar Enrico Tröger

Save default encoding for new files as charset string.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@626 ea778897-0a13-0410-b9d1-a72fbfd435f5
üst 30340b5b
2006-07-25 Enrico Tröger <enrico.troeger@uvena.de>
* src/encodings.c, src/document.c, src/keyfile.c, src/main.c:
Save default encoding for new files as charset string.
2006-07-24 Enrico Tröger <enrico.troeger@uvena.de> 2006-07-24 Enrico Tröger <enrico.troeger@uvena.de>
* src/geany.h, tagmanager/strlist.c, tagmanager/tm_project.c, * src/geany.h, tagmanager/strlist.c, tagmanager/tm_project.c,
tagmanager/parse.c, tagmanager/general.h, tagmanager/ctags.c, tagmanager/parse.c, tagmanager/general.h, tagmanager/ctags.c,
tagmanager/tm_workspace.c: Fixed some cross compiling/Win32 issues. tagmanager/tm_workspace.c: Fixed some cross compiling/Win32 issues.
* geany.glade, src/callbacks.c, src/document.c, src/interface.c, * geany.glade, src/callbacks.c, src/document.c, src/interface.c,
src/main.c: Added menu item to the document menu to add/remove BOM. src/main.c:
Added menu item to the document menu to add/remove BOM.
Replaced switch_notebook_page by ignore_callback flag.
* src/win32.c, src/dialogs.c: * src/win32.c, src/dialogs.c:
Convert Unicode strings to wide characters to avoid weird display. Convert Unicode strings to wide characters to avoid weird display.
* src/document.c: Set CR/LF as EOL mode on new files on Windows. * src/document.c: Set CR/LF as EOL mode on new files on Windows.
......
...@@ -356,8 +356,7 @@ void document_new_file(filetype *ft) ...@@ -356,8 +356,7 @@ void document_new_file(filetype *ft)
sci_set_text(doc_list[idx].sci, template); sci_set_text(doc_list[idx].sci, template);
g_free(template); g_free(template);
doc_list[idx].encoding = g_strdup( doc_list[idx].encoding = g_strdup(encodings[app->pref_editor_default_encoding].charset);
encodings_get_charset(&encodings[app->pref_editor_default_encoding]));
document_set_filetype(idx, ft); document_set_filetype(idx, ft);
utils_set_window_title(idx); utils_set_window_title(idx);
utils_build_show_hide(idx); utils_build_show_hide(idx);
......
...@@ -121,6 +121,8 @@ const GeanyEncoding *encodings_get_from_charset(const gchar *charset) ...@@ -121,6 +121,8 @@ const GeanyEncoding *encodings_get_from_charset(const gchar *charset)
{ {
gint i; gint i;
if (charset == NULL) return &encodings[GEANY_ENCODING_UTF_8];
i = 0; i = 0;
while (i < GEANY_ENCODINGS_MAX) while (i < GEANY_ENCODINGS_MAX)
{ {
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
#include "utils.h" #include "utils.h"
#include "document.h" #include "document.h"
#include "sciwrappers.h" #include "sciwrappers.h"
#include "encodings.h"
static gchar *scribble_text = NULL; static gchar *scribble_text = NULL;
...@@ -118,7 +119,6 @@ void configuration_save(void) ...@@ -118,7 +119,6 @@ void configuration_save(void)
g_key_file_set_integer_list(config, PACKAGE, "geometry", app->geometry, 4); g_key_file_set_integer_list(config, PACKAGE, "geometry", app->geometry, 4);
} }
g_key_file_set_integer(config, PACKAGE, "pref_editor_tab_width", app->pref_editor_tab_width); g_key_file_set_integer(config, PACKAGE, "pref_editor_tab_width", app->pref_editor_tab_width);
g_key_file_set_integer(config, PACKAGE, "pref_editor_default_encoding", app->pref_editor_default_encoding);
g_key_file_set_boolean(config, PACKAGE, "pref_main_confirm_exit", app->pref_main_confirm_exit); g_key_file_set_boolean(config, PACKAGE, "pref_main_confirm_exit", app->pref_main_confirm_exit);
g_key_file_set_boolean(config, PACKAGE, "pref_main_load_session", app->pref_main_load_session); g_key_file_set_boolean(config, PACKAGE, "pref_main_load_session", app->pref_main_load_session);
g_key_file_set_boolean(config, PACKAGE, "pref_main_save_winpos", app->pref_main_save_winpos); g_key_file_set_boolean(config, PACKAGE, "pref_main_save_winpos", app->pref_main_save_winpos);
...@@ -135,6 +135,7 @@ void configuration_save(void) ...@@ -135,6 +135,7 @@ void configuration_save(void)
g_key_file_set_boolean(config, PACKAGE, "pref_editor_new_line", app->pref_editor_new_line); g_key_file_set_boolean(config, PACKAGE, "pref_editor_new_line", app->pref_editor_new_line);
g_key_file_set_boolean(config, PACKAGE, "pref_editor_replace_tabs", app->pref_editor_replace_tabs); g_key_file_set_boolean(config, PACKAGE, "pref_editor_replace_tabs", app->pref_editor_replace_tabs);
g_key_file_set_boolean(config, PACKAGE, "pref_editor_trail_space", app->pref_editor_trail_space); g_key_file_set_boolean(config, PACKAGE, "pref_editor_trail_space", app->pref_editor_trail_space);
g_key_file_set_string(config, PACKAGE, "pref_editor_default_encoding", encodings[app->pref_editor_default_encoding].charset);
g_key_file_set_string(config, PACKAGE, "pref_template_developer", app->pref_template_developer); g_key_file_set_string(config, PACKAGE, "pref_template_developer", app->pref_template_developer);
g_key_file_set_string(config, PACKAGE, "pref_template_company", app->pref_template_company); g_key_file_set_string(config, PACKAGE, "pref_template_company", app->pref_template_company);
g_key_file_set_string(config, PACKAGE, "pref_template_mail", app->pref_template_mail); g_key_file_set_string(config, PACKAGE, "pref_template_mail", app->pref_template_mail);
...@@ -288,8 +289,18 @@ gboolean configuration_load(void) ...@@ -288,8 +289,18 @@ gboolean configuration_load(void)
app->pref_editor_tab_width = utils_get_setting_integer(config, PACKAGE, "pref_editor_tab_width", 4); app->pref_editor_tab_width = utils_get_setting_integer(config, PACKAGE, "pref_editor_tab_width", 4);
// set default encoding to UTF8 (Unicode) - index 16 tmp_string = utils_get_setting_string(config, PACKAGE, "pref_editor_default_encoding",
app->pref_editor_default_encoding = utils_get_setting_integer(config, PACKAGE, "pref_editor_default_encoding", 16); encodings[GEANY_ENCODING_UTF_8].charset);
if (tmp_string)
{
const GeanyEncoding *enc = encodings_get_from_charset(tmp_string);
if (enc != NULL)
app->pref_editor_default_encoding = enc->idx;
else
app->pref_editor_default_encoding = GEANY_ENCODING_UTF_8;
g_free(tmp_string);
}
app->pref_main_confirm_exit = utils_get_setting_boolean(config, PACKAGE, "pref_main_confirm_exit", TRUE); app->pref_main_confirm_exit = utils_get_setting_boolean(config, PACKAGE, "pref_main_confirm_exit", TRUE);
app->pref_main_load_session = utils_get_setting_boolean(config, PACKAGE, "pref_main_load_session", TRUE); app->pref_main_load_session = utils_get_setting_boolean(config, PACKAGE, "pref_main_load_session", TRUE);
app->pref_main_save_winpos = utils_get_setting_boolean(config, PACKAGE, "pref_main_save_winpos", TRUE); app->pref_main_save_winpos = utils_get_setting_boolean(config, PACKAGE, "pref_main_save_winpos", TRUE);
......
...@@ -508,11 +508,11 @@ gint main(gint argc, gchar **argv) ...@@ -508,11 +508,11 @@ gint main(gint argc, gchar **argv)
main_init(); main_init();
gtk_widget_set_size_request(app->window, GEANY_WINDOW_MINIMAL_WIDTH, GEANY_WINDOW_MINIMAL_HEIGHT); gtk_widget_set_size_request(app->window, GEANY_WINDOW_MINIMAL_WIDTH, GEANY_WINDOW_MINIMAL_HEIGHT);
gtk_window_set_default_size(GTK_WINDOW(app->window), GEANY_WINDOW_DEFAULT_WIDTH, GEANY_WINDOW_DEFAULT_HEIGHT); gtk_window_set_default_size(GTK_WINDOW(app->window), GEANY_WINDOW_DEFAULT_WIDTH, GEANY_WINDOW_DEFAULT_HEIGHT);
encodings_init();
configuration_load(); configuration_load();
keybindings_init(); keybindings_init();
notebook_init(); notebook_init();
templates_init(); templates_init();
encodings_init();
document_init_doclist(); document_init_doclist();
// do this here to let cmdline options overwrite configuration settings // do this here to let cmdline options overwrite configuration settings
#ifdef HAVE_VTE #ifdef HAVE_VTE
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment