mirror of
https://github.com/ZoiteChat/zoitechat.git
synced 2026-04-14 15:40:19 +00:00
Ignore collapsed parent selects in chanview tree
This commit is contained in:
@@ -45,6 +45,8 @@ cv_tree_sel_cb (GtkTreeSelection *sel, chanview *cv)
|
|||||||
GtkTreeModel *model;
|
GtkTreeModel *model;
|
||||||
GtkTreeIter prev_iter;
|
GtkTreeIter prev_iter;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
GtkTreePath *path;
|
||||||
|
GtkTreeView *view;
|
||||||
chan *ch;
|
chan *ch;
|
||||||
chan *prev_ch;
|
chan *prev_ch;
|
||||||
gboolean has_prev;
|
gboolean has_prev;
|
||||||
@@ -60,6 +62,20 @@ cv_tree_sel_cb (GtkTreeSelection *sel, chanview *cv)
|
|||||||
if (has_prev)
|
if (has_prev)
|
||||||
{
|
{
|
||||||
gtk_tree_model_get (model, &prev_iter, COL_CHAN, &prev_ch, -1);
|
gtk_tree_model_get (model, &prev_iter, COL_CHAN, &prev_ch, -1);
|
||||||
|
if (prev_ch != ch && gtk_tree_store_is_ancestor (cv->store, &iter, &prev_iter))
|
||||||
|
{
|
||||||
|
view = gtk_tree_selection_get_tree_view (sel);
|
||||||
|
path = gtk_tree_model_get_path (model, &iter);
|
||||||
|
if (path)
|
||||||
|
{
|
||||||
|
if (!gtk_tree_view_row_expanded (view, path))
|
||||||
|
{
|
||||||
|
gtk_tree_path_free (path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
gtk_tree_path_free (path);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (prev_ch != ch)
|
if (prev_ch != ch)
|
||||||
gtk_tree_store_set (cv->store, &prev_iter, COL_UNDERLINE, PANGO_UNDERLINE_NONE, -1);
|
gtk_tree_store_set (cv->store, &prev_iter, COL_UNDERLINE, PANGO_UNDERLINE_NONE, -1);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user