Filebrowser: Kill the click policy property with fire ()

This is left over code from the gedit days, which we don't use, and
don't use. This also has the added benifit of removing at least 1
deprecation warning.
This commit is contained in:
Stephen Collins 2019-05-05 03:20:18 -06:00 committed by Clement Lefebvre
parent 2e3f337e84
commit fb0002bdcd
2 changed files with 2 additions and 195 deletions

View File

@ -44,8 +44,6 @@ struct _XedFileBrowserViewPrivate
GtkTreeModel *model; GtkTreeModel *model;
GtkTreeRowReference *editable; GtkTreeRowReference *editable;
/* CLick policy */
XedFileBrowserViewClickPolicy click_policy;
GtkTreePath *double_click_path[2]; /* Both clicks in a double click need to be on the same row */ GtkTreePath *double_click_path[2]; /* Both clicks in a double click need to be on the same row */
GtkTreePath *hover_path; GtkTreePath *hover_path;
GdkCursor *hand_cursor; GdkCursor *hand_cursor;
@ -64,7 +62,6 @@ enum
{ {
PROP_0, PROP_0,
PROP_CLICK_POLICY,
PROP_RESTORE_EXPAND_STATE PROP_RESTORE_EXPAND_STATE
}; };
@ -227,139 +224,6 @@ row_collapsed (GtkTreeView *tree_view,
_xed_file_browser_store_iter_collapsed (XED_FILE_BROWSER_STORE (view->priv->model), iter); _xed_file_browser_store_iter_collapsed (XED_FILE_BROWSER_STORE (view->priv->model), iter);
} }
static gboolean
leave_notify_event (GtkWidget *widget,
GdkEventCrossing *event)
{
XedFileBrowserView *view = XED_FILE_BROWSER_VIEW (widget);
if (view->priv->click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE &&
view->priv->hover_path != NULL)
{
gtk_tree_path_free (view->priv->hover_path);
view->priv->hover_path = NULL;
}
// Chainup
return GTK_WIDGET_CLASS (xed_file_browser_view_parent_class)->leave_notify_event (widget, event);
}
static gboolean
enter_notify_event (GtkWidget *widget,
GdkEventCrossing *event)
{
XedFileBrowserView *view = XED_FILE_BROWSER_VIEW (widget);
if (view->priv->click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE)
{
if (view->priv->hover_path != NULL)
{
gtk_tree_path_free (view->priv->hover_path);
}
gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget),
event->x, event->y,
&view->priv->hover_path,
NULL, NULL, NULL);
if (view->priv->hover_path != NULL)
{
gdk_window_set_cursor (gtk_widget_get_window (widget), view->priv->hand_cursor);
}
}
// Chainup
return GTK_WIDGET_CLASS (xed_file_browser_view_parent_class)->enter_notify_event (widget, event);
}
static gboolean
motion_notify_event (GtkWidget *widget,
GdkEventMotion *event)
{
GtkTreePath *old_hover_path;
XedFileBrowserView *view = XED_FILE_BROWSER_VIEW (widget);
if (view->priv->click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE)
{
old_hover_path = view->priv->hover_path;
gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (widget),
event->x, event->y,
&view->priv->hover_path,
NULL, NULL, NULL);
if ((old_hover_path != NULL) != (view->priv->hover_path != NULL))
{
if (view->priv->hover_path != NULL)
{
gdk_window_set_cursor (gtk_widget_get_window (widget), view->priv->hand_cursor);
}
else
{
gdk_window_set_cursor (gtk_widget_get_window (widget), NULL);
}
}
if (old_hover_path != NULL)
{
gtk_tree_path_free (old_hover_path);
}
}
// Chainup
return GTK_WIDGET_CLASS (xed_file_browser_view_parent_class)->motion_notify_event (widget, event);
}
static void
set_click_policy_property (XedFileBrowserView *obj,
XedFileBrowserViewClickPolicy click_policy)
{
GtkTreeIter iter;
GdkDisplay *display;
GdkWindow *win;
obj->priv->click_policy = click_policy;
if (click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE)
{
if (obj->priv->hand_cursor == NULL)
{
obj->priv->hand_cursor = gdk_cursor_new(GDK_HAND2);
}
}
else if (click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_DOUBLE)
{
if (obj->priv->hover_path != NULL)
{
if (gtk_tree_model_get_iter (GTK_TREE_MODEL (obj->priv->model), &iter, obj->priv->hover_path))
{
gtk_tree_model_row_changed (GTK_TREE_MODEL (obj->priv->model), obj->priv->hover_path, &iter);
}
gtk_tree_path_free (obj->priv->hover_path);
obj->priv->hover_path = NULL;
}
if (gtk_widget_get_realized (GTK_WIDGET (obj)))
{
win = gtk_widget_get_window (GTK_WIDGET (obj));
gdk_window_set_cursor (win, NULL);
display = gtk_widget_get_display (GTK_WIDGET (obj));
if (display != NULL)
{
gdk_display_flush (display);
}
}
if (obj->priv->hand_cursor)
{
g_object_unref (obj->priv->hand_cursor);
obj->priv->hand_cursor = NULL;
}
}
}
static void static void
directory_activated (XedFileBrowserView *view, directory_activated (XedFileBrowserView *view,
GtkTreeIter *iter) GtkTreeIter *iter)
@ -503,14 +367,7 @@ did_not_drag (XedFileBrowserView *view,
if (gtk_tree_view_get_path_at_pos (tree_view, event->x, event->y, &path, NULL, NULL, NULL)) if (gtk_tree_view_get_path_at_pos (tree_view, event->x, event->y, &path, NULL, NULL, NULL))
{ {
if ((view->priv->click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE) if ((event->button == 1 || event->button == 2)
&& !button_event_modifies_selection(event)
&& (event->button == 1 || event->button == 2))
{
/* Activate all selected items, and leave them selected */
activate_selected_items (view);
}
else if ((event->button == 1 || event->button == 2)
&& ((event->state & GDK_CONTROL_MASK) != 0 || && ((event->state & GDK_CONTROL_MASK) != 0 ||
(event->state & GDK_SHIFT_MASK) == 0) (event->state & GDK_SHIFT_MASK) == 0)
&& view->priv->selected_on_button_down) && view->priv->selected_on_button_down)
@ -589,12 +446,6 @@ button_press_event (GtkWidget *widget,
last_click_time = event->time; last_click_time = event->time;
/* Ignore double click if we are in single click mode */
if (view->priv->click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE && click_count >= 2)
{
return TRUE;
}
view->priv->ignore_release = FALSE; view->priv->ignore_release = FALSE;
call_parent = TRUE; call_parent = TRUE;
@ -654,7 +505,7 @@ button_press_event (GtkWidget *widget,
if (selected) if (selected)
{ {
call_parent = on_expander || gtk_tree_selection_count_selected_rows (selection) == 1; call_parent = on_expander || gtk_tree_selection_count_selected_rows (selection) == 1;
view->priv->ignore_release = call_parent && view->priv->click_policy != XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE; view->priv->ignore_release = call_parent;
} }
else if ((event->state & GDK_CONTROL_MASK) != 0) else if ((event->state & GDK_CONTROL_MASK) != 0)
{ {
@ -881,9 +732,6 @@ get_property (GObject *object,
switch (prop_id) switch (prop_id)
{ {
case PROP_CLICK_POLICY:
g_value_set_enum (value, obj->priv->click_policy);
break;
case PROP_RESTORE_EXPAND_STATE: case PROP_RESTORE_EXPAND_STATE:
g_value_set_boolean (value, obj->priv->restore_expand_state); g_value_set_boolean (value, obj->priv->restore_expand_state);
break; break;
@ -903,9 +751,6 @@ set_property (GObject *object,
switch (prop_id) switch (prop_id)
{ {
case PROP_CLICK_POLICY:
set_click_policy_property (obj, g_value_get_enum (value));
break;
case PROP_RESTORE_EXPAND_STATE: case PROP_RESTORE_EXPAND_STATE:
set_restore_expand_state (obj, g_value_get_boolean (value)); set_restore_expand_state (obj, g_value_get_boolean (value));
break; break;
@ -927,9 +772,6 @@ xed_file_browser_view_class_init (XedFileBrowserViewClass *klass)
object_class->set_property = set_property; object_class->set_property = set_property;
/* Event handlers */ /* Event handlers */
widget_class->motion_notify_event = motion_notify_event;
widget_class->enter_notify_event = enter_notify_event;
widget_class->leave_notify_event = leave_notify_event;
widget_class->button_press_event = button_press_event; widget_class->button_press_event = button_press_event;
widget_class->button_release_event = button_release_event; widget_class->button_release_event = button_release_event;
widget_class->drag_begin = drag_begin; widget_class->drag_begin = drag_begin;
@ -943,14 +785,6 @@ xed_file_browser_view_class_init (XedFileBrowserViewClass *klass)
/* Default handlers */ /* Default handlers */
klass->directory_activated = directory_activated; klass->directory_activated = directory_activated;
g_object_class_install_property (object_class, PROP_CLICK_POLICY,
g_param_spec_enum ("click-policy",
"Click Policy",
"The click policy",
XED_FILE_BROWSER_TYPE_VIEW_CLICK_POLICY,
XED_FILE_BROWSER_VIEW_CLICK_POLICY_DOUBLE,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
g_object_class_install_property (object_class, PROP_RESTORE_EXPAND_STATE, g_object_class_install_property (object_class, PROP_RESTORE_EXPAND_STATE,
g_param_spec_boolean ("restore-expand-state", g_param_spec_boolean ("restore-expand-state",
"Restore Expand State", "Restore Expand State",
@ -1013,14 +847,6 @@ cell_data_cb (GtkTreeViewColumn *tree_column,
path = gtk_tree_model_get_path (tree_model, iter); path = gtk_tree_model_get_path (tree_model, iter);
if (obj->priv->click_policy == XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE)
{
if (obj->priv->hover_path != NULL && gtk_tree_path_compare (path, obj->priv->hover_path) == 0)
{
underline = PANGO_UNDERLINE_SINGLE;
}
}
if (XED_IS_FILE_BROWSER_STORE (tree_model)) if (XED_IS_FILE_BROWSER_STORE (tree_model))
{ {
if (obj->priv->editable != NULL && gtk_tree_row_reference_valid (obj->priv->editable)) if (obj->priv->editable != NULL && gtk_tree_row_reference_valid (obj->priv->editable))
@ -1200,17 +1026,6 @@ xed_file_browser_view_start_rename (XedFileBrowserView *tree_view,
FALSE, 0.0, 0.0); FALSE, 0.0, 0.0);
} }
void
xed_file_browser_view_set_click_policy (XedFileBrowserView *tree_view,
XedFileBrowserViewClickPolicy policy)
{
g_return_if_fail (XED_IS_FILE_BROWSER_VIEW (tree_view));
set_click_policy_property (tree_view, policy);
g_object_notify (G_OBJECT (tree_view), "click-policy");
}
void void
xed_file_browser_view_set_restore_expand_state (XedFileBrowserView *tree_view, xed_file_browser_view_set_restore_expand_state (XedFileBrowserView *tree_view,
gboolean restore_expand_state) gboolean restore_expand_state)

View File

@ -37,12 +37,6 @@ typedef struct _XedFileBrowserView XedFileBrowserView;
typedef struct _XedFileBrowserViewClass XedFileBrowserViewClass; typedef struct _XedFileBrowserViewClass XedFileBrowserViewClass;
typedef struct _XedFileBrowserViewPrivate XedFileBrowserViewPrivate; typedef struct _XedFileBrowserViewPrivate XedFileBrowserViewPrivate;
typedef enum
{
XED_FILE_BROWSER_VIEW_CLICK_POLICY_DOUBLE,
XED_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE
} XedFileBrowserViewClickPolicy;
struct _XedFileBrowserView struct _XedFileBrowserView
{ {
GtkTreeView parent; GtkTreeView parent;
@ -74,8 +68,6 @@ void xed_file_browser_view_set_model (XedFileBrowserView *tree_view,
GtkTreeModel *model); GtkTreeModel *model);
void xed_file_browser_view_start_rename (XedFileBrowserView *tree_view, void xed_file_browser_view_start_rename (XedFileBrowserView *tree_view,
GtkTreeIter *iter); GtkTreeIter *iter);
void xed_file_browser_view_set_click_policy (XedFileBrowserView *tree_view,
XedFileBrowserViewClickPolicy policy);
void xed_file_browser_view_set_restore_expand_state (XedFileBrowserView *tree_view, void xed_file_browser_view_set_restore_expand_state (XedFileBrowserView *tree_view,
gboolean restore_expand_state); gboolean restore_expand_state);