[geany/geany-plugins] 788156: scope - select tree element -> select + focus + align
Dimitar Zhekov
git-noreply at geany.org
Mon Dec 31 16:38:43 UTC 2012
Branch: refs/heads/master
Author: Dimitar Zhekov <dimitar.zhekov at gmail.com>
Committer: Dimitar Zhekov <dimitar.zhekov at gmail.com>
Date: Mon, 31 Dec 2012 16:38:43 UTC
Commit: 7881564f8ffbe99cdaadc4d4166725ebf69c28d0
https://github.com/geany/geany-plugins/commit/7881564f8ffbe99cdaadc4d4166725ebf69c28d0
Log Message:
-----------
scope - select tree element -> select + focus + align
Modified Paths:
--------------
scope/ChangeLog
scope/src/break.c
scope/src/inspect.c
scope/src/stack.c
scope/src/thread.c
scope/src/utils.c
scope/src/utils.h
scope/src/watch.c
Modified: scope/ChangeLog
7 files changed, 7 insertions(+), 0 deletions(-)
===================================================================
@@ -1,3 +1,10 @@
+2012-12-30 Dimitar Zhekov <dimitar.zhekov at gmail.com>
+
+ * src/break.c, src/inspect.c, src/stack.c, src/thread.c, src/utils.c,
+ src/utils.h, src/watch.c:
+ Select, focus and align tree elements instead of simply selecting.
+
+
2012-12-28 Dimitar Zhekov <dimitar.zhekov at gmail.com>
* src/break.c, src/inspect.c, src/parse.c, src/program.c,
Modified: scope/src/break.c
4 files changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -412,7 +412,7 @@ static void break_node_parse(const ParseNode *node, BreakData *bd)
BREAK_DISCARD, !persist, -1);
if (persist)
- gtk_tree_selection_select_iter(selection, iter);
+ utils_tree_set_cursor(selection, iter, 0.5);
g_free(original);
g_free(display);
@@ -940,7 +940,7 @@ void on_break_toggle(G_GNUC_UNUSED const MenuItem *menu_item)
break_relocate(&iter, doc->real_path, doc_line);
gtk_list_store_set(store, &iter, BREAK_SCID, ++scid_gen, BREAK_TYPE, 'b',
BREAK_ENABLED, TRUE, BREAK_RUN_APPLY, TRUE, -1);
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, 0.5);
sci_set_marker_at_line(doc->editor->sci, doc_line - 1, MARKER_BREAKPT + TRUE);
}
}
Modified: scope/src/inspect.c
4 files changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -169,7 +169,7 @@ static void on_jump_to_menu_item_activate(GtkMenuItem *menuitem, G_GNUC_UNUSED g
const gchar *expr = gtk_menu_item_get_label(menuitem);
if (model_find(model, &iter, INSPECT_EXPR, expr))
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, 0);
}
static GtkWidget *jump_to_item;
@@ -632,7 +632,7 @@ void inspect_add(const gchar *text)
gtk_tree_store_set(store, &iter, INSPECT_HB_MODE, pm->hb_mode, INSPECT_SCID,
++scid_gen, INSPECT_FORMAT, FORMAT_NATURAL, INSPECT_COUNT,
option_inspect_count, INSPECT_EXPAND, option_inspect_expand, -1);
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, -1);
if (debug_state() & DS_DEBUG)
inspect_apply(&iter);
Modified: scope/src/stack.c
2 files changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -186,7 +186,7 @@ void on_stack_follow(GArray *nodes)
GtkTreeIter iter;
iff (model_find(model, &iter, STACK_ID, id), "%s: level not found", id)
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, 0.5);
}
}
}
Modified: scope/src/thread.c
6 files changed, 3 insertions(+), 3 deletions(-)
===================================================================
@@ -182,7 +182,7 @@ static void auto_select_thread(void)
if (model_find(model, &iter, THREAD_STATE, STOPPED))
{
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, -1);
view_seek_selected(selection, FALSE, SK_EXECUTE);
}
}
@@ -409,7 +409,7 @@ void on_thread_stopped(GArray *nodes)
if (thread_select_on_stopped && thread_state <= THREAD_RUNNING && sd.found)
{
- gtk_tree_selection_select_iter(selection, &sd.iter);
+ utils_tree_set_cursor(selection, &sd.iter, -1);
view_seek_selected(selection, FALSE, SK_EXECUTE);
}
@@ -432,7 +432,7 @@ static void set_gdb_thread(const char *tid, gboolean select)
GtkTreeIter iter;
if (find_thread(gdb_thread, &iter))
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, -1);
}
}
Modified: scope/src/utils.c
12 files changed, 12 insertions(+), 0 deletions(-)
===================================================================
@@ -780,6 +780,18 @@ void utils_enter_to_clicked(GtkWidget *widget, GtkWidget *button)
g_signal_connect(widget, "key-press-event", G_CALLBACK(on_widget_key_press), button);
}
+void utils_tree_set_cursor(GtkTreeSelection *selection, GtkTreeIter *iter, gdouble align)
+{
+ GtkTreeView *tree = gtk_tree_selection_get_tree_view(selection);
+ GtkTreePath *path = gtk_tree_model_get_path(gtk_tree_view_get_model(tree), iter);
+
+ if (align >= 0)
+ gtk_tree_view_scroll_to_cell(tree, path, NULL, TRUE, align, 0);
+
+ gtk_tree_view_set_cursor(tree, path, NULL, FALSE);
+ gtk_tree_path_free(path);
+}
+
void utils_finalize(void)
{
guint i;
Modified: scope/src/utils.h
2 files changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -110,8 +110,8 @@ enum
gchar *utils_text_buffer_get_text(GtkTextBuffer *text, gint maxlen);
void utils_enter_to_clicked(GtkWidget *widget, GtkWidget *button);
+void utils_tree_set_cursor(GtkTreeSelection *selection, GtkTreeIter *iter, gdouble align);
-void utils_init(void);
void utils_finalize(void);
#define UTILS_H 1
Modified: scope/src/watch.c
2 files changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -210,7 +210,7 @@ void watch_add(const gchar *text)
gtk_list_store_append(store, &iter);
gtk_list_store_set(store, &iter, WATCH_EXPR, expr, WATCH_HB_MODE, pm->hb_mode,
WATCH_MR_MODE, pm->mr_mode, WATCH_SCID, ++scid_gen, WATCH_ENABLED, TRUE, -1);
- gtk_tree_selection_select_iter(selection, &iter);
+ utils_tree_set_cursor(selection, &iter, 0.5);
if (debug_state() & DS_DEBUG)
watch_fetch(&iter);
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Plugins-Commits
mailing list