Skip to content

Commit 84b43e6

Browse files
committed
simplify variant processing
1 parent 4520b9d commit 84b43e6

File tree

1 file changed

+14
-33
lines changed

1 file changed

+14
-33
lines changed

src/libs/collect.c

Lines changed: 14 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2926,40 +2926,18 @@ static gboolean entry_focus_in_callback(GtkWidget *w,
29262926
return FALSE;
29272927
}
29282928

2929-
static gboolean _process_variant_params(GVariant *parameter,
2930-
gpointer userdata,
2931-
dt_lib_collect_mode_t *mode,
2932-
dt_lib_collect_rule_t **d)
2933-
{
2934-
const gsize nb = g_variant_n_children(parameter);
2935-
2936-
if(nb != 2)
2937-
return FALSE;
2938-
2939-
dt_lib_collect_t *m = (dt_lib_collect_t *)userdata;
2940-
2941-
GVariant *v = g_variant_get_child_value(parameter, 0);
2942-
*mode = g_variant_get_int32(v);
2943-
g_variant_unref(v);
2944-
2945-
v = g_variant_get_child_value(parameter, 1);
2946-
const int rule_index = g_variant_get_int32(v);
2947-
g_variant_unref(v);
2948-
2949-
*d = &m->rule[rule_index];
2950-
2951-
return TRUE;
2952-
}
2953-
29542929
static void _menuitem_mode(GSimpleAction *action,
29552930
GVariant *parameter,
29562931
gpointer userdata)
29572932
{
2958-
dt_lib_collect_mode_t mode;
2959-
dt_lib_collect_rule_t *d = NULL;
2933+
dt_lib_collect_t *m = (dt_lib_collect_t *)userdata;
29602934

2961-
if(!_process_variant_params(parameter, userdata, &mode, &d))
2962-
return;
2935+
dt_lib_collect_mode_t mode = 0;
2936+
int rule_index = 0;
2937+
2938+
g_variant_get(parameter, "(ii)", &mode, &rule_index);
2939+
2940+
dt_lib_collect_rule_t *d = &m->rule[rule_index];
29632941

29642942
// add next row with and operator
29652943
const int _a = dt_conf_get_int("plugins/lighttable/collect/num_rules");
@@ -2987,11 +2965,14 @@ static void _menuitem_mode_change(GSimpleAction *action,
29872965
GVariant *parameter,
29882966
gpointer userdata)
29892967
{
2990-
dt_lib_collect_mode_t mode;
2991-
dt_lib_collect_rule_t *d = NULL;
2968+
dt_lib_collect_t *m = (dt_lib_collect_t *)userdata;
29922969

2993-
if(!_process_variant_params(parameter, userdata, &mode, &d))
2994-
return;
2970+
dt_lib_collect_mode_t mode = 0;
2971+
int rule_index = 0;
2972+
2973+
g_variant_get(parameter, "(ii)", &mode, &rule_index);
2974+
2975+
dt_lib_collect_rule_t *d = &m->rule[rule_index];
29952976

29962977
// add next row with and operator
29972978
const int num = d->num + 1;

0 commit comments

Comments
 (0)