void dt_ctl_switch_mode_to(dt_control_gui_mode_t mode) { dt_control_gui_mode_t oldmode = dt_conf_get_int("ui_last/view"); if(oldmode == mode) return; darktable.control->button_down = 0; darktable.control->button_down_which = 0; darktable.gui->center_tooltip = 0; GtkWidget *widget = dt_ui_center(darktable.gui->ui); g_object_set(G_OBJECT(widget), "tooltip-text", "", (char *)NULL); char buf[512]; snprintf(buf, sizeof(buf) - 1, _("switch to %s mode"), dt_view_manager_name(darktable.view_manager)); gboolean i_own_lock = dt_control_gdk_lock(); int error = dt_view_manager_switch(darktable.view_manager, mode); if(i_own_lock) dt_control_gdk_unlock(); if(error) return; dt_conf_set_int ("ui_last/view", mode); }
static gboolean _dt_ctl_switch_mode_to(gpointer user_data) { const char *mode = (const char*)user_data; _dt_ctl_switch_mode_prepare(); dt_view_manager_switch(darktable.view_manager, mode); return FALSE; }
static gboolean _dt_ctl_switch_mode_to(gpointer user_data) { dt_control_gui_mode_t mode = GPOINTER_TO_INT(user_data); darktable.control->button_down = 0; darktable.control->button_down_which = 0; darktable.gui->center_tooltip = 0; GtkWidget *widget = dt_ui_center(darktable.gui->ui); gtk_widget_set_tooltip_text(widget, ""); if(!dt_view_manager_switch(darktable.view_manager, mode)) dt_conf_set_int("ui_last/view", mode); return FALSE; }