SF.net SVN: geany: [920] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Mon Oct 23 20:32:47 UTC 2006
Revision: 920
http://svn.sourceforge.net/geany/?rev=920&view=rev
Author: eht16
Date: 2006-10-23 13:32:37 -0700 (Mon, 23 Oct 2006)
Log Message:
-----------
Added new encoding "None" to open files without any character conversions (fixes #1580456).
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/callbacks.c
trunk/src/dialogs.c
trunk/src/document.c
trunk/src/document.h
trunk/src/encodings.c
trunk/src/encodings.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/ChangeLog 2006-10-23 20:32:37 UTC (rev 920)
@@ -1,3 +1,10 @@
+2006-10-23 Enrico Tröger <enrico.troeger at uvena.de>
+
+ * src/encodings.c, src/encodings.h, src/document.c, src/callbacks.c,
+ src/dialogs.c: Added new encoding "None" to open files without any
+ character conversions (fixes #1580456).
+
+
2006-10-22 Enrico Tröger <enrico.troeger at uvena.de>
* src/geany.h, src/keyfile.c, src/main.c:
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/src/callbacks.c 2006-10-23 20:32:37 UTC (rev 920)
@@ -758,8 +758,6 @@
if (filetype_idx >= 0 && filetype_idx < GEANY_FILETYPES_ALL) ft = filetypes[filetype_idx];
if (encoding_idx >= 0 && encoding_idx < GEANY_ENCODINGS_MAX)
charset = encodings[encoding_idx].charset;
- else if (encoding_idx == GEANY_ENCODINGS_MAX)
- charset = "none";
filelist = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(app->open_filesel));
flist = filelist;
Modified: trunk/src/dialogs.c
===================================================================
--- trunk/src/dialogs.c 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/src/dialogs.c 2006-10-23 20:32:37 UTC (rev 920)
@@ -120,9 +120,9 @@
gtk_combo_box_append_text(GTK_COMBO_BOX(encoding_combo), encoding_string);
g_free(encoding_string);
}
- gtk_combo_box_append_text(GTK_COMBO_BOX(encoding_combo), _("Do not any conversion"));
+ //gtk_combo_box_append_text(GTK_COMBO_BOX(encoding_combo), _("Do not any conversion"));
gtk_combo_box_append_text(GTK_COMBO_BOX(encoding_combo), _("Detect from file"));
- gtk_combo_box_set_active(GTK_COMBO_BOX(encoding_combo), GEANY_ENCODINGS_MAX + 1);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(encoding_combo), GEANY_ENCODINGS_MAX);
g_signal_connect((gpointer) app->open_filesel, "selection-changed",
G_CALLBACK(on_file_open_selection_changed), NULL);
Modified: trunk/src/document.c
===================================================================
--- trunk/src/document.c 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/src/document.c 2006-10-23 20:32:37 UTC (rev 920)
@@ -240,7 +240,7 @@
/* creates a new tab in the notebook and does all related stuff
* finally it returns the index of the created document */
-gint document_create_new_sci(const gchar *filename)
+static gint document_create_new_sci(const gchar *filename)
{
ScintillaObject *sci;
PangoFontDescription *pfd;
@@ -617,11 +617,10 @@
if (forced_enc != NULL)
{
// the encoding should be ignored(requested by user), so open the file "as it is"
- if (utils_strcmp(forced_enc, "none"))
+ if (utils_strcmp(forced_enc, encodings[GEANY_ENCODING_NONE].charset))
{
- /// TODO enc = NULL breaks several tests, e.g. encodings_select_radio_item. Will be fixed soon.
bom = FALSE;
- enc = NULL;
+ enc = g_strdup(encodings[GEANY_ENCODING_NONE].charset);
}
else if (! handle_forced_encoding(&data, &size, forced_enc, &enc, &bom))
{
@@ -744,8 +743,9 @@
gint bytes_written, len;
gchar *locale_filename = NULL;
- if (idx == -1) return FALSE;
- if (! force && ! doc_list[idx].changed) return FALSE;
+ if (! DOC_IDX_VALID(idx)) return FALSE;
+ // the changed flag should exclude the readonly flag, but check it anyway for safety
+ if (! force && (! doc_list[idx].changed || doc_list[idx].readonly)) return FALSE;
if (doc_list[idx].file_name == NULL)
{
@@ -779,8 +779,9 @@
sci_get_text(doc_list[idx].sci, len, data);
}
- // save in original encoding, skip when it is already UTF-8
- if (doc_list[idx].encoding != NULL && ! utils_strcmp(doc_list[idx].encoding, "UTF-8"))
+ // save in original encoding, skip when it is already UTF-8 or has the encoding "None"
+ if (doc_list[idx].encoding != NULL && ! utils_strcmp(doc_list[idx].encoding, "UTF-8") &&
+ ! utils_strcmp(doc_list[idx].encoding, encodings[GEANY_ENCODING_NONE].charset))
{
GError *conv_error = NULL;
gchar* conv_file_contents = NULL;
Modified: trunk/src/document.h
===================================================================
--- trunk/src/document.h 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/src/document.h 2006-10-23 20:32:37 UTC (rev 920)
@@ -105,11 +105,6 @@
void document_apply_update_prefs(ScintillaObject *sci);
-/* creates a new tab in the notebook and does all related stuff
- * finally it returns the index of the created document */
-gint document_create_new_sci(const gchar*);
-
-
/* removes the given notebook tab and clears the related entry in the document list */
gboolean document_remove(guint page_num);
Modified: trunk/src/encodings.c
===================================================================
--- trunk/src/encodings.c 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/src/encodings.c 2006-10-23 20:32:37 UTC (rev 920)
@@ -114,6 +114,8 @@
fill(11, EASTASIAN, GEANY_ENCODING_ISO_2022_KR, "ISO-2022-KR", _("Korean"));
fill(12, EASTASIAN, GEANY_ENCODING_JOHAB, "JOHAB", _("Korean"));
fill(13, EASTASIAN, GEANY_ENCODING_UHC, "UHC", _("Korean"));
+
+ fill(0, NONE, GEANY_ENCODING_NONE, "None", _("Without encoding"));
}
@@ -253,7 +255,7 @@
case ASIAN: submenu = menu_asian; group_size = 9; break;
case MIDDLEEASTERN: submenu = menu_middleeast; group_size = 7; break;
case UNICODE: submenu = menu_utf8; group_size = 8; break;
- default: submenu = menu[k]; group_size = 0;
+ default: submenu = menu[k]; group_size = 1;
}
while (order < group_size) // the biggest group has 13 elements
Modified: trunk/src/encodings.h
===================================================================
--- trunk/src/encodings.h 2006-10-23 00:05:42 UTC (rev 919)
+++ trunk/src/encodings.h 2006-10-23 20:32:37 UTC (rev 920)
@@ -145,6 +145,8 @@
GEANY_ENCODING_WINDOWS_1256,
GEANY_ENCODING_WINDOWS_1257,
GEANY_ENCODING_WINDOWS_1258,
+
+ GEANY_ENCODING_NONE,
GEANY_ENCODINGS_MAX
} GeanyEncodingIndex;
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