Skip to content

Commit a58e9d4

Browse files
committed
simplify variant processing
1 parent 102b717 commit a58e9d4

File tree

2 files changed

+31
-49
lines changed

2 files changed

+31
-49
lines changed

data/themes/darktable.css

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -894,22 +894,6 @@ menuitem label,
894894
margin: 0;
895895
}
896896

897-
/*------------------------------------------------
898-
- Popup menu -
899-
----------------------------------------------*/
900-
popover.menu {
901-
padding: 0;
902-
}
903-
904-
popover.menu modelbutton {
905-
padding: 0.1em 0.5em;
906-
}
907-
908-
popover.menu modelbutton:hover {
909-
background-color: @selected_bg_color;
910-
}
911-
912-
913897
tooltip,
914898
#range-current
915899
{
@@ -964,6 +948,23 @@ combobox separator
964948
min-height: 0.07em;
965949
}
966950

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

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)