コード例 #1
0
static void
ft_manager_response_cb (GtkWidget *widget,
                        gint response,
                        EmpathyFTManager *manager)
{
  EmpathyFTManagerPriv *priv = GET_PRIV (manager);

  switch (response)
    {
      case RESPONSE_CLEAR:
        ft_manager_clear (manager);
        break;
      case RESPONSE_OPEN:
        ft_manager_open (manager);
        break;
      case RESPONSE_STOP:
        ft_manager_stop (manager);
        break;
      case RESPONSE_CLOSE:
        if (!close_window (manager))
          gtk_widget_destroy (priv->window);
        break;
      case GTK_RESPONSE_NONE:
      case GTK_RESPONSE_DELETE_EVENT:
        /* Do nothing */
        break;
      default:
        g_assert_not_reached ();
    }
}
コード例 #2
0
ファイル: empathy-ft-manager.c プロジェクト: james-w/empathy
static void
ft_manager_response_cb (GtkWidget *widget,
                        gint response,
                        EmpathyFTManager *manager)
{
  switch (response)
    {
      case RESPONSE_CLEAR:
        ft_manager_clear (manager);
        break;
      case RESPONSE_OPEN:
        ft_manager_open (manager);
        break;
      case RESPONSE_STOP:
        ft_manager_stop (manager);
        break;
    }
}
コード例 #3
0
static gboolean
close_window (EmpathyFTManager *manager)
{
  EmpathyFTManagerPriv *priv = GET_PRIV (manager);

  DEBUG ("%p", manager);

  /* remove all the completed/cancelled/errored transfers */
  ft_manager_clear (manager);

  if (g_hash_table_size (priv->ft_handler_to_row_ref) > 0)
    {
      /* There is still FTs on flight, just hide the window */
      DEBUG ("Hiding window");
      gtk_widget_hide (priv->window);
      return TRUE;
    }

  return FALSE;
}