projects
/
pspp-builds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge commit 'origin/stable'
[pspp-builds.git]
/
src
/
ui
/
gui
/
psppire-selector.c
diff --git
a/src/ui/gui/psppire-selector.c
b/src/ui/gui/psppire-selector.c
index 9acc2829b22fd575fac9c1579dd08c1b47af02dd..d6ea3375257186d0566aa8a7706da717030db17c 100644
(file)
--- a/
src/ui/gui/psppire-selector.c
+++ b/
src/ui/gui/psppire-selector.c
@@
-179,7
+179,7
@@
psppire_selector_class_init (PsppireSelectorClass *class)
g_param_spec_enum ("orientation",
"Orientation",
"Where the selector is relative to its subjects",
g_param_spec_enum ("orientation",
"Orientation",
"Where the selector is relative to its subjects",
-
G_TYPE_PSPPIR
E_SELECTOR_ORIENTATION,
+
PSPPIRE_TYP
E_SELECTOR_ORIENTATION,
PSPPIRE_SELECT_SOURCE_BEFORE_DEST /* default value */,
G_PARAM_CONSTRUCT_ONLY |G_PARAM_READWRITE);
PSPPIRE_SELECT_SOURCE_BEFORE_DEST /* default value */,
G_PARAM_CONSTRUCT_ONLY |G_PARAM_READWRITE);
@@
-465,7
+465,9
@@
select_selection (PsppireSelector *selector)
selector->select_items (child_iter,
selector->dest,
selector->select_items (child_iter,
selector->dest,
- childmodel);
+ childmodel,
+ selector->select_user_data
+ );
}
g_list_foreach (selected_rows, (GFunc) gtk_tree_path_free, NULL);
}
g_list_foreach (selected_rows, (GFunc) gtk_tree_path_free, NULL);
@@
-549,10
+551,21
@@
is_item_in_dest (GtkTreeModel *model, GtkTreeIter *iter,
do
{
do
{
+ int x;
GValue value = {0};
GValue value = {0};
+ GValue int_value = {0};
gtk_tree_model_get_value (dest_model, &dest_iter, 0, &value);
gtk_tree_model_get_value (dest_model, &dest_iter, 0, &value);
- if ( g_value_get_int (&value) == index)
+ g_value_init (&int_value, G_TYPE_INT);
+
+ g_value_transform (&value, &int_value);
+
+ x = g_value_get_int (&int_value);
+
+ g_value_unset (&int_value);
+ g_value_unset (&value);
+
+ if ( x == index )
return TRUE;
}
while (gtk_tree_model_iter_next (dest_model, &dest_iter));
return TRUE;
}
while (gtk_tree_model_iter_next (dest_model, &dest_iter));
@@
-772,7
+785,8
@@
psppire_selector_set_subjects (PsppireSelector *selector,
GtkWidget *source,
GtkWidget *dest,
SelectItemsFunc *select_func,
GtkWidget *source,
GtkWidget *dest,
SelectItemsFunc *select_func,
- FilterItemsFunc *filter_func )
+ FilterItemsFunc *filter_func,
+ gpointer user_data)
{
g_assert(selector);
{
g_assert(selector);
@@
-780,6
+794,7
@@
psppire_selector_set_subjects (PsppireSelector *selector,
selector->source = source;
selector->dest = dest;
selector->source = source;
selector->dest = dest;
+ selector->select_user_data = user_data;
if ( filter_func == NULL)
{
if ( filter_func == NULL)
{
@@
-794,7
+809,9
@@
psppire_selector_set_subjects (PsppireSelector *selector,
g_assert ( GTK_IS_TREE_MODEL_FILTER (selector->filtered_source));
g_assert ( GTK_IS_TREE_MODEL_FILTER (selector->filtered_source));
- if ( GTK_IS_TREE_VIEW (dest))
+ if ( NULL == dest)
+ ;
+ else if ( GTK_IS_TREE_VIEW (dest))
set_tree_view_dest (selector, GTK_TREE_VIEW (dest));
else if ( GTK_IS_ENTRY (dest))
set_tree_view_dest (selector, GTK_TREE_VIEW (dest));
else if ( GTK_IS_ENTRY (dest))