Compare commits
1 Commits
xtext-link
...
fix-tray-a
| Author | SHA1 | Date | |
|---|---|---|---|
| baaea45d43 |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 250 KiB |
@@ -396,10 +396,14 @@ cmd_away (struct session *sess, char *tbuf, char *word[], char *word_eol[])
|
|||||||
static int
|
static int
|
||||||
cmd_back (struct session *sess, char *tbuf, char *word[], char *word_eol[])
|
cmd_back (struct session *sess, char *tbuf, char *word[], char *word_eol[])
|
||||||
{
|
{
|
||||||
if (sess->server->is_away)
|
if (sess->server->connected)
|
||||||
{
|
{
|
||||||
sess->server->p_set_back (sess->server);
|
sess->server->p_set_back (sess->server);
|
||||||
}
|
}
|
||||||
|
else if (sess->server->reconnect_away)
|
||||||
|
{
|
||||||
|
sess->server->reconnect_away = FALSE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
PrintText (sess, _("Already marked back.\n"));
|
PrintText (sess, _("Already marked back.\n"));
|
||||||
|
|||||||
@@ -964,7 +964,7 @@ tray_find_away_status (void)
|
|||||||
{
|
{
|
||||||
serv = list->data;
|
serv = list->data;
|
||||||
|
|
||||||
if (serv->is_away || serv->reconnect_away)
|
if (serv->is_away || serv->reconnect_away || serv->last_away_reason)
|
||||||
away++;
|
away++;
|
||||||
else
|
else
|
||||||
back++;
|
back++;
|
||||||
@@ -1090,7 +1090,6 @@ tray_menu_populate (GtkWidget *menu)
|
|||||||
{
|
{
|
||||||
GtkWidget *submenu;
|
GtkWidget *submenu;
|
||||||
GtkWidget *item;
|
GtkWidget *item;
|
||||||
int away_status;
|
|
||||||
|
|
||||||
/* ph may have an invalid context now */
|
/* ph may have an invalid context now */
|
||||||
zoitechat_set_context (ph, zoitechat_find_context (ph, NULL, NULL));
|
zoitechat_set_context (ph, zoitechat_find_context (ph, NULL, NULL));
|
||||||
@@ -1113,13 +1112,8 @@ tray_menu_populate (GtkWidget *menu)
|
|||||||
submenu = menu;
|
submenu = menu;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
away_status = tray_find_away_status ();
|
|
||||||
item = tray_make_item (submenu, _("_Away"), tray_foreach_server, "away");
|
item = tray_make_item (submenu, _("_Away"), tray_foreach_server, "away");
|
||||||
if (away_status == 1)
|
|
||||||
gtk_widget_set_sensitive (item, FALSE);
|
|
||||||
item = tray_make_item (submenu, _("_Back"), tray_foreach_server, "back");
|
item = tray_make_item (submenu, _("_Back"), tray_foreach_server, "back");
|
||||||
if (away_status == 2)
|
|
||||||
gtk_widget_set_sensitive (item, FALSE);
|
|
||||||
|
|
||||||
menu_add_plugin_items (menu, "\x5$TRAY", NULL);
|
menu_add_plugin_items (menu, "\x5$TRAY", NULL);
|
||||||
|
|
||||||
|
|||||||
@@ -2311,16 +2311,7 @@ gtk_xtext_motion_notify (GtkWidget * widget, GdkEventMotion * event)
|
|||||||
if (!window)
|
if (!window)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (event->is_hint)
|
gtk_xtext_get_pointer (window, &x, &y, &mask);
|
||||||
{
|
|
||||||
gtk_xtext_get_pointer (window, &x, &y, &mask);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
x = (int)event->x;
|
|
||||||
y = (int)event->y;
|
|
||||||
mask = event->state;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (xtext->moving_separator)
|
if (xtext->moving_separator)
|
||||||
{
|
{
|
||||||
@@ -2496,12 +2487,9 @@ gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event)
|
|||||||
GtkXText *xtext = GTK_XTEXT (widget);
|
GtkXText *xtext = GTK_XTEXT (widget);
|
||||||
unsigned char *word;
|
unsigned char *word;
|
||||||
int old;
|
int old;
|
||||||
int event_x, event_y;
|
|
||||||
GtkAllocation allocation;
|
GtkAllocation allocation;
|
||||||
|
|
||||||
gtk_widget_get_allocation (widget, &allocation);
|
gtk_widget_get_allocation (widget, &allocation);
|
||||||
event_x = (int)event->x;
|
|
||||||
event_y = (int)event->y;
|
|
||||||
|
|
||||||
if (xtext->moving_separator)
|
if (xtext->moving_separator)
|
||||||
{
|
{
|
||||||
@@ -2551,8 +2539,8 @@ gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (xtext->select_start_x == event_x &&
|
if (xtext->select_start_x == event->x &&
|
||||||
xtext->select_start_y == event_y &&
|
xtext->select_start_y == event->y &&
|
||||||
xtext->buffer->last_ent_start)
|
xtext->buffer->last_ent_start)
|
||||||
{
|
{
|
||||||
gtk_xtext_unselect (xtext);
|
gtk_xtext_unselect (xtext);
|
||||||
@@ -2562,7 +2550,7 @@ gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event)
|
|||||||
|
|
||||||
if (!gtk_xtext_is_selecting (xtext))
|
if (!gtk_xtext_is_selecting (xtext))
|
||||||
{
|
{
|
||||||
word = gtk_xtext_get_word (xtext, event_x, event_y, 0, 0, 0, 0);
|
word = gtk_xtext_get_word (xtext, event->x, event->y, 0, 0, 0, 0);
|
||||||
g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, word ? word : NULL, event);
|
g_signal_emit (G_OBJECT (xtext), xtext_signals[WORD_CLICK], 0, word ? word : NULL, event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2584,9 +2572,7 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event)
|
|||||||
if (!window)
|
if (!window)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
x = (int)event->x;
|
gtk_xtext_get_pointer (window, &x, &y, &mask);
|
||||||
y = (int)event->y;
|
|
||||||
mask = event->state;
|
|
||||||
|
|
||||||
if (event->button == 3 || event->button == 2) /* right/middle click */
|
if (event->button == 3 || event->button == 2) /* right/middle click */
|
||||||
{
|
{
|
||||||
|
|||||||