projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix clipboard export of non-ascii strings.
[pspp-builds.git]
/
src
/
ui
/
gui
/
psppire-data-editor.c
diff --git
a/src/ui/gui/psppire-data-editor.c
b/src/ui/gui/psppire-data-editor.c
index 38250f7ea6959a76ab18e6f1db1458ffb8ed2e0f..ec7263af76698a457e6bf15e9379e2c205891baa 100644
(file)
--- a/
src/ui/gui/psppire-data-editor.c
+++ b/
src/ui/gui/psppire-data-editor.c
@@
-1203,9
+1203,13
@@
popup_variable_row_menu (PsppireSheet *sheet, gint row,
PsppireVarStore *var_store =
PSPPIRE_VAR_STORE (psppire_sheet_get_model (sheet));
PsppireVarStore *var_store =
PSPPIRE_VAR_STORE (psppire_sheet_get_model (sheet));
+
+ PsppireDict *dict;
+ const struct variable *v ;
- const struct variable *v =
- psppire_dict_get_variable (var_store->dict, row);
+ g_object_get (var_store, "dictionary", &dict, NULL);
+
+ v = psppire_dict_get_variable (dict, row);
if ( v && event->button == 3)
{
if ( v && event->button == 3)
{
@@
-1357,6
+1361,7
@@
psppire_data_editor_delete_cases (PsppireDataEditor *de)
void
psppire_data_editor_delete_variables (PsppireDataEditor *de)
{
void
psppire_data_editor_delete_variables (PsppireDataEditor *de)
{
+ PsppireDict *dict = NULL;
gint first, n;
switch (gtk_notebook_get_current_page (GTK_NOTEBOOK (de)))
gint first, n;
switch (gtk_notebook_get_current_page (GTK_NOTEBOOK (de)))
@@
-1374,7
+1379,9
@@
psppire_data_editor_delete_variables (PsppireDataEditor *de)
break;
}
break;
}
- psppire_dict_delete_variables (de->var_store->dict, first, n);
+ g_object_get (de->var_store, "dictionary", &dict, NULL);
+
+ psppire_dict_delete_variables (dict, first, n);
psppire_sheet_unselect_range (PSPPIRE_SHEET (de->data_sheet[0]));
psppire_sheet_unselect_range (PSPPIRE_SHEET (de->var_sheet));
psppire_sheet_unselect_range (PSPPIRE_SHEET (de->data_sheet[0]));
psppire_sheet_unselect_range (PSPPIRE_SHEET (de->var_sheet));
@@
-1613,6
+1620,7
@@
data_sheet_set_clip (PsppireSheet *sheet)
/* Construct clip dictionary. */
clip_dict = dict_create ();
/* Construct clip dictionary. */
clip_dict = dict_create ();
+ dict_set_encoding (clip_dict, dict_get_encoding (ds->dict->dict));
for (i = range.col0; i <= range.coli; i++)
{
const struct variable *old = dict_get_var (ds->dict->dict, i);
for (i = range.col0; i <= range.coli; i++)
{
const struct variable *old = dict_get_var (ds->dict->dict, i);
@@
-1712,9
+1720,11
@@
clip_to_html (void)
const casenumber case_cnt = casereader_get_case_cnt (clip_datasheet);
const size_t var_cnt = dict_get_var_cnt (clip_dict);
const casenumber case_cnt = casereader_get_case_cnt (clip_datasheet);
const size_t var_cnt = dict_get_var_cnt (clip_dict);
-
/* Guestimate the size needed */
/* Guestimate the size needed */
- string = g_string_sized_new (20 * val_cnt * case_cnt);
+ string = g_string_sized_new (80 + 20 * val_cnt * case_cnt);
+
+ g_string_append (string,
+ "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
g_string_append (string, "<table>\n");
for (r = 0 ; r < case_cnt ; ++r )
g_string_append (string, "<table>\n");
for (r = 0 ; r < case_cnt ; ++r )