Skip to content

Commit 28600db

Browse files
committed
simplify variant processing
1 parent a6e24d9 commit 28600db

2 files changed

Lines changed: 31 additions & 49 deletions

File tree

data/themes/darktable.css

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -911,22 +911,6 @@ menuitem label,
911911
margin: 0;
912912
}
913913

914-
/*------------------------------------------------
915-
- Popup menu -
916-
----------------------------------------------*/
917-
popover.menu {
918-
padding: 0;
919-
}
920-
921-
popover.menu modelbutton {
922-
padding: 0.1em 0.5em;
923-
}
924-
925-
popover.menu modelbutton:hover {
926-
background-color: @selected_bg_color;
927-
}
928-
929-
930914
tooltip,
931915
#range-current
932916
{
@@ -965,6 +949,23 @@ combobox separator
965949
min-height: 0.07em;
966950
}
967951

952+
/*------------------------------------------------
953+
- Popup menu -
954+
----------------------------------------------*/
955+
popover.menu {
956+
padding: 0;
957+
}
958+
959+
popover.menu modelbutton {
960+
padding: 0.1em 0.5em;
961+
}
962+
963+
popover.menu modelbutton:hover,
964+
popover.menu modelbutton:hover * {
965+
background-color: @selected_bg_color;
966+
}
967+
968+
968969
/*----------------------
969970
- GTK Notebooks tabs -
970971
----------------------*/

src/libs/collect.c

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

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

2963-
if(!_process_variant_params(parameter, userdata, &mode, &d))
2964-
return;
2937+
dt_lib_collect_mode_t mode = 0;
2938+
int rule_index = 0;
2939+
2940+
g_variant_get(parameter, "(ii)", &mode, &rule_index);
2941+
2942+
dt_lib_collect_rule_t *d = &m->rule[rule_index];
29652943

29662944
// add next row with and operator
29672945
const int _a = dt_conf_get_int("plugins/lighttable/collect/num_rules");
@@ -2989,11 +2967,14 @@ static void _menuitem_mode_change(GSimpleAction *action,
29892967
GVariant *parameter,
29902968
gpointer userdata)
29912969
{
2992-
dt_lib_collect_mode_t mode;
2993-
dt_lib_collect_rule_t *d = NULL;
2970+
dt_lib_collect_t *m = (dt_lib_collect_t *)userdata;
29942971

2995-
if(!_process_variant_params(parameter, userdata, &mode, &d))
2996-
return;
2972+
dt_lib_collect_mode_t mode = 0;
2973+
int rule_index = 0;
2974+
2975+
g_variant_get(parameter, "(ii)", &mode, &rule_index);
2976+
2977+
dt_lib_collect_rule_t *d = &m->rule[rule_index];
29972978

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

0 commit comments

Comments
 (0)