qulogic/libgnt

Use gnt_widget_[gs]et_position internally.

2019-04-26, Elliott Sales de Andrade
2a0ecf6203f6
Parents 4e0a440980ba
Children 4a28e30a580d
Use gnt_widget_[gs]et_position internally.

gnt_widget_set_position does emit a signal, but hopefully that isn't a
problem for anything.
  • +3 -1
    gntbindable.c
  • +27 -14
    gntbox.c
  • +10 -5
    gntcombobox.c
  • +8 -4
    gntmain.c
  • +11 -9
    gntmenu.c
  • +8 -2
    gnttextview.c
  • +4 -2
    gnttree.c
  • +2 -4
    gntwm.c
  • --- a/gntbindable.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gntbindable.c Fri Apr 26 01:40:05 2019 -0400
    @@ -122,6 +122,7 @@
    const char *widget_name = g_type_name(G_OBJECT_TYPE(bindable));
    char *keys;
    GntWidget *key_textview;
    + gint x;
    GntWidget *label;
    GntWidget *bind_button, *cancel_button;
    GntWidget *button_box;
    @@ -154,7 +155,8 @@
    tmp = g_strdup_printf("KEY: \"%s\"", keys);
    key_textview = gnt_text_view_new();
    - gnt_widget_set_size(key_textview, key_textview->priv.x, 2);
    + gnt_widget_get_position(key_textview, &x, NULL);
    + gnt_widget_set_size(key_textview, x, 2);
    gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(key_textview), tmp, GNT_TEXT_FLAG_NORMAL);
    g_free(tmp);
    gnt_widget_set_name(key_textview, "keystroke");
    --- a/gntbox.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gntbox.c Fri Apr 26 01:40:05 2019 -0400
    @@ -136,8 +136,7 @@
    w = h = 0;
    max = 0;
    - curx = widget->priv.x;
    - cury = widget->priv.y;
    + gnt_widget_get_position(widget, &curx, &cury);
    if (gnt_widget_get_has_border(widget)) {
    has_border = TRUE;
    curx += 1;
    @@ -182,10 +181,14 @@
    }
    if (priv->vertical) {
    + gint widgety;
    + gnt_widget_get_position(widget, NULL, &widgety);
    widget->priv.width = max;
    - widget->priv.height = cury - widget->priv.y;
    + widget->priv.height = cury - widgety;
    } else {
    - widget->priv.width = curx - widget->priv.x;
    + gint widgetx;
    + gnt_widget_get_position(widget, &widgetx, NULL);
    + widget->priv.width = curx - widgetx;
    widget->priv.height = max;
    }
    }
    @@ -196,15 +199,18 @@
    GntBox *box = GNT_BOX(widget);
    GntBoxPrivate *priv = gnt_box_get_instance_private(box);
    GList *iter;
    - int changex, changey;
    + gint widgetx, widgety;
    + gint changex, changey;
    - changex = widget->priv.x - x;
    - changey = widget->priv.y - y;
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    + changex = widgetx - x;
    + changey = widgety - y;
    for (iter = priv->list; iter; iter = iter->next) {
    GntWidget *w = GNT_WIDGET(iter->data);
    - gnt_widget_set_position(w, w->priv.x - changex,
    - w->priv.y - changey);
    + gint wx, wy;
    + gnt_widget_get_position(w, &wx, &wy);
    + gnt_widget_set_position(w, wx - changex, wy - changey);
    }
    }
    @@ -421,7 +427,11 @@
    static void
    gnt_box_expose(GntWidget *widget, int x, int y, int width, int height)
    {
    - WINDOW *win = newwin(height, width, widget->priv.y + y, widget->priv.x + x);
    + WINDOW *win;
    + gint widgetx, widgety;
    +
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    + win = newwin(height, width, widgety + y, widgetx + x);
    copywin(widget->window, win, y, x, 0, 0, height - 1, width - 1, FALSE);
    wrefresh(win);
    delwin(win);
    @@ -782,12 +792,14 @@
    GntBoxPrivate *priv = NULL;
    GntWidget *widget = NULL;
    GList *iter;
    + gint widgetx, widgety;
    int pos;
    g_return_if_fail(GNT_IS_BOX(box));
    priv = gnt_box_get_instance_private(box);
    widget = GNT_WIDGET(box);
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    pos = gnt_widget_get_has_border(widget) ? 1 : 0;
    if (!priv->active) {
    @@ -797,7 +809,7 @@
    for (iter = priv->list; iter; iter = iter->next) {
    GntWidget *w = GNT_WIDGET(iter->data);
    int height, width;
    - int x, y;
    + gint x, y;
    if (G_UNLIKELY(w == NULL)) {
    g_warn_if_reached();
    @@ -812,8 +824,9 @@
    gnt_widget_get_size(w, &width, &height);
    - x = w->priv.x - widget->priv.x;
    - y = w->priv.y - widget->priv.y;
    + gnt_widget_get_position(w, &x, &y);
    + x -= widgetx;
    + y -= widgety;
    if (priv->vertical) {
    x = pos;
    @@ -837,7 +850,7 @@
    copywin(w->window, widget->window, 0, 0,
    y, x, y + height - 1, x + width - 1, FALSE);
    - gnt_widget_set_position(w, x + widget->priv.x, y + widget->priv.y);
    + gnt_widget_set_position(w, x + widgetx, y + widgety);
    if (w == priv->active) {
    wmove(widget->window, y + getcury(w->window), x + getcurx(w->window));
    }
    --- a/gntcombobox.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gntcombobox.c Fri Apr 26 01:40:05 2019 -0400
    @@ -135,16 +135,21 @@
    {
    GntWidget *widget = GNT_WIDGET(box);
    GntWidget *parent = gnt_widget_get_parent(box->dropdown);
    - int height = g_list_length(gnt_tree_get_rows(GNT_TREE(box->dropdown)));
    - int y = widget->priv.y + widget->priv.height - 1;
    + gint widgetx, widgety;
    + gint height;
    + gint y;
    +
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    + height = g_list_length(gnt_tree_get_rows(GNT_TREE(box->dropdown)));
    + y = widgety + widget->priv.height - 1;
    gnt_widget_set_size(box->dropdown, widget->priv.width, height + 2);
    if (y + height + 2 >= getmaxy(stdscr))
    - y = widget->priv.y - height - 1;
    - gnt_widget_set_position(parent, widget->priv.x, y);
    + y = widgety - height - 1;
    + gnt_widget_set_position(parent, widgetx, y);
    if (parent->window)
    {
    - mvwin(parent->window, y, widget->priv.x);
    + mvwin(parent->window, y, widgetx);
    wresize(parent->window, height+2, widget->priv.width);
    }
    parent->priv.width = widget->priv.width;
    --- a/gntmain.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gntmain.c Fri Apr 26 01:40:05 2019 -0400
    @@ -180,11 +180,13 @@
    while ((p = panel_below(p)) != NULL) {
    const GntNode *node = panel_userptr(p);
    GntWidget *wid;
    + gint widx, widy;
    if (!node)
    continue;
    wid = node->me;
    - if (x >= wid->priv.x && x < wid->priv.x + wid->priv.width) {
    - if (y >= wid->priv.y && y < wid->priv.y + wid->priv.height) {
    + gnt_widget_get_position(wid, &widx, &widy);
    + if (widx <= x && x < widx + wid->priv.width) {
    + if (widy <= y && y < widy + wid->priv.height) {
    widget = wid;
    break;
    }
    @@ -219,11 +221,13 @@
    if (event == GNT_LEFT_MOUSE_DOWN && widget &&
    widget != wm->_list.window && !gnt_widget_get_transient(widget)) {
    + gint widgetx, widgety;
    if (!gnt_ws_is_top_widget(wm->cws, widget)) {
    gnt_wm_raise_window(wm, widget);
    }
    - if (y == widget->priv.y) {
    - offset = x - widget->priv.x;
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    + if (y == widgety) {
    + offset = x - widgetx;
    remember = widget;
    button = MOUSE_LEFT;
    }
    --- a/gntmenu.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gntmenu.c Fri Apr 26 01:40:05 2019 -0400
    @@ -99,6 +99,10 @@
    guint i;
    if (menu->type == GNT_MENU_TOPLEVEL) {
    + gint x, y;
    +
    + gnt_widget_get_position(widget, &x, &y);
    +
    wbkgdset(widget->window, '\0' | gnt_color_pair(GNT_COLOR_HIGHLIGHT));
    werase(widget->window);
    @@ -116,8 +120,8 @@
    if (i == menu->selected)
    type |= A_REVERSE;
    gnt_menuitem_set_position(
    - item, getcurx(widget->window) + widget->priv.x,
    - getcury(widget->window) + widget->priv.y + 1);
    + item, getcurx(widget->window) + x,
    + getcury(widget->window) + y + 1);
    wbkgdset(widget->window, type);
    wprintw(widget->window, " %s ",
    C_(gnt_menuitem_get_text(item)));
    @@ -265,12 +269,11 @@
    sub->parentmenu = menu;
    if (menu->type != GNT_MENU_TOPLEVEL) {
    GntWidget *widget = GNT_WIDGET(menu);
    + gnt_widget_get_position(widget, &x, &y);
    gnt_menuitem_set_position(
    - item,
    - widget->priv.x + widget->priv.width - 1,
    - widget->priv.y +
    - gnt_tree_get_selection_visible_line(
    - GNT_TREE(menu)));
    + item, x + widget->priv.width - 1,
    + y + gnt_tree_get_selection_visible_line(
    + GNT_TREE(menu)));
    }
    gnt_menuitem_get_position(item, &x, &y);
    gnt_widget_set_position(GNT_WIDGET(sub), x, y);
    @@ -517,8 +520,7 @@
    menu->type = type;
    if (type == GNT_MENU_TOPLEVEL) {
    - widget->priv.x = 0;
    - widget->priv.y = 0;
    + gnt_widget_set_position(widget, 0, 0);
    } else {
    gnt_tree_set_show_separator(GNT_TREE(widget), FALSE);
    g_object_set(G_OBJECT(widget), "columns", NUM_COLUMNS, NULL);
    --- a/gnttextview.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gnttextview.c Fri Apr 26 01:40:05 2019 -0400
    @@ -324,16 +324,22 @@
    } else if (event == GNT_MOUSE_SCROLL_DOWN) {
    gnt_text_view_scroll(GNT_TEXT_VIEW(widget), 1);
    } else if (event == GNT_LEFT_MOUSE_DOWN) {
    - select_start = gnt_text_view_get_p(GNT_TEXT_VIEW(widget), x - widget->priv.x, y - widget->priv.y);
    + gint widgetx, widgety;
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    + select_start = gnt_text_view_get_p(GNT_TEXT_VIEW(widget),
    + x - widgetx, y - widgety);
    g_timeout_add(500, too_slow, NULL);
    } else if (event == GNT_MOUSE_UP) {
    GntTextView *view = GNT_TEXT_VIEW(widget);
    if (text_view_contains(view, select_start)) {
    GString *clip;
    + gint widgetx, widgety;
    g_return_val_if_fail(select_start != NULL, TRUE);
    - select_end = gnt_text_view_get_p(view, x - widget->priv.x, y - widget->priv.y);
    + gnt_widget_get_position(widget, &widgetx, &widgety);
    + select_end = gnt_text_view_get_p(view, x - widgetx,
    + y - widgety);
    g_return_val_if_fail(select_end != NULL, TRUE);
    --- a/gnttree.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gnttree.c Fri Apr 26 01:40:05 2019 -0400
    @@ -953,7 +953,7 @@
    static gboolean
    gnt_tree_clicked(GntWidget *widget, GntMouseEvent event, G_GNUC_UNUSED int x,
    - G_GNUC_UNUSED int y)
    + int y)
    {
    GntTree *tree = GNT_TREE(widget);
    GntTreePrivate *priv = gnt_tree_get_instance_private(tree);
    @@ -965,11 +965,13 @@
    action_down(GNT_BINDABLE(widget), NULL);
    } else if (event == GNT_LEFT_MOUSE_DOWN) {
    GntTreeRow *row;
    + gint widgety;
    int pos = gnt_widget_get_has_border(widget) ? 1 : 0;
    if (priv->show_title) {
    pos += 2;
    }
    - pos = y - widget->priv.y - pos;
    + gnt_widget_get_position(widget, NULL, &widgety);
    + pos = y - widgety - pos;
    row = get_next_n(priv->top, pos);
    if (row && priv->current != row) {
    GntTreeRow *old = priv->current;
    --- a/gntwm.c Sat Apr 27 21:40:01 2019 +0000
    +++ b/gntwm.c Fri Apr 26 01:40:05 2019 -0400
    @@ -1785,8 +1785,7 @@
    if (!gnt_widget_has_shadow(widget))
    shadow = FALSE;
    - x = widget->priv.x;
    - y = widget->priv.y;
    + gnt_widget_get_position(widget, &x, &y);
    w = widget->priv.width + shadow;
    h = widget->priv.height + shadow;
    @@ -2154,8 +2153,7 @@
    if (title) {
    GntPosition *p = g_new0(GntPosition, 1);
    GntWidget *wid = node->me;
    - p->x = wid->priv.x;
    - p->y = wid->priv.y;
    + gnt_widget_get_position(wid, &p->x, &p->y);
    g_hash_table_replace(wm->positions, g_strdup(title), p);
    write_positions_to_file(wm);
    }