make grid use the network-defined maximum nickname length

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-02-12 14:08:06 -05:00
parent 5ab72400ce
commit dff57e7052
4 changed files with 15 additions and 4 deletions

View File

@ -808,6 +808,7 @@ void
_channel_network_set(Channel *chl, Express_Network *net)
{
chl->net = net;
_grid_nicklen_set(chl->o_grid, express_network_nickname_length_get(net));
}
void

View File

@ -104,7 +104,7 @@ _selection_get(Evas_Object *obj, int c1x, int c1y, int c2x, int c2y, size_t *len
else if (cells[x].att.tab)
{
eina_strbuf_append_char(sb, '\t');
while (x > MAX_NICK_LEN)
while (x > sd->nicklen)
x--;
/* x = ((x + 8) / 8) * 8; */
/* x--; */
@ -1748,7 +1748,7 @@ _cursor_handle(Grid *sd, const Eina_Unicode *cc)
sd->state.had_cr = 0;
GRID_CELLS(sd, sd->state.cx, sd->state.cy).att.tab = 1;
sd->state.wrapnext = 0;
while (sd->state.cx < (MAX_NICK_LEN + 1))
while (sd->state.cx < (sd->nicklen + 1))
sd->state.cx += 1;
/* sd->state.cx += 8; */
@ -2315,3 +2315,13 @@ _grid_text_append(Evas_Object *obj, const char *txt, int len)
_smart_queue_update(obj, sd);
}
void
_grid_nicklen_set(Evas_Object *obj, int len)
{
Grid *sd;
/* try to get the objects smart data */
if (!(sd = evas_object_smart_data_get(obj))) return;
sd->nicklen = len;
}

View File

@ -162,6 +162,7 @@ struct _Grid
} down;
} link;
int nicklen;
unsigned int altbuf : 1;
Ecore_Job *mouse_move_job;
@ -177,6 +178,7 @@ void _grid_window_set(Evas_Object *obj, Evas_Object *win);
void _grid_theme_set(Evas_Object *obj, Evas_Object *theme);
void _grid_resize(Evas_Object *obj, int nw, int nh);
void _grid_text_append(Evas_Object *obj, const char *txt, int len);
void _grid_nicklen_set(Evas_Object *obj, int len);
#define GRID_CELLS(SD, X, Y) \
SD->cells[X + (((Y + SD->circular_offset) % SD->h) * SD->w)]

View File

@ -30,8 +30,6 @@ extern int _log_dom;
# define MAX(a,b) ((a) > (b)) ? (a) : (b)
#endif
#define MAX_NICK_LEN 20
#ifdef EXPRESS_DEFAULT_LOG_COLOR
# undef EXPRESS_DEFAULT_LOG_COOR
#endif