コード例 #1
0
ファイル: makemeta-ui.c プロジェクト: AllardJ/Tomato
static gboolean
onProgressDialogRefresh (gpointer data)
{
  char * str = NULL;
  MakeMetaUI * ui = data;
  const tr_metainfo_builder * b = ui->builder;
  GtkDialog * d = GTK_DIALOG (ui->progress_dialog);
  GtkProgressBar * p = GTK_PROGRESS_BAR (ui->progress_bar);
  const double fraction = b->pieceCount ? ((double)b->pieceIndex / b->pieceCount) : 0;
  char * base = g_path_get_basename (b->top);

  /* progress label */
  if (!b->isDone)
    str = g_strdup_printf (_("Creating \"%s\""), base);
  else if (b->result == TR_MAKEMETA_OK)
    str = g_strdup_printf (_("Created \"%s\"!"), base);
  else if (b->result == TR_MAKEMETA_URL)
    str = g_strdup_printf (_("Error: invalid announce URL \"%s\""), b->errfile);
  else if (b->result == TR_MAKEMETA_CANCELLED)
    str = g_strdup_printf (_("Cancelled"));
  else if (b->result == TR_MAKEMETA_IO_READ)
    str = g_strdup_printf (_("Error reading \"%s\": %s"), b->errfile, g_strerror (b->my_errno));
  else if (b->result == TR_MAKEMETA_IO_WRITE)
    str = g_strdup_printf (_("Error writing \"%s\": %s"), b->errfile, g_strerror (b->my_errno));
  else
    g_assert_not_reached ();

  if (str != NULL)
    {
      gtr_label_set_text (GTK_LABEL (ui->progress_label), str);
      g_free (str);
    }

  /* progress bar */
  if (!b->pieceIndex)
    {
      str = g_strdup ("");
    }
  else
    {
      char sizebuf[128];
      tr_strlsize (sizebuf, (uint64_t)b->pieceIndex *
                            (uint64_t)b->pieceSize, sizeof (sizebuf));
      /* how much data we've scanned through to generate checksums */
      str = g_strdup_printf (_("Scanned %s"), sizebuf);
    }
  gtk_progress_bar_set_fraction (p, fraction);
  gtk_progress_bar_set_text (p, str);
  g_free (str);

  /* buttons */
  gtk_dialog_set_response_sensitive (d, GTK_RESPONSE_CANCEL, !b->isDone);
  gtk_dialog_set_response_sensitive (d, GTK_RESPONSE_CLOSE, b->isDone);
  gtk_dialog_set_response_sensitive (d, GTK_RESPONSE_ACCEPT, b->isDone && !b->result);

  g_free (base);
  return G_SOURCE_CONTINUE;
}
コード例 #2
0
ファイル: stats.c プロジェクト: alex-berman/tforms
static void
setLabel( GtkWidget *  w,
          const char * str )
{
    gtr_label_set_text( GTK_LABEL( w ), str );
}
コード例 #3
0
ファイル: stats.c プロジェクト: AllardJ/Tomato
static void
setLabel (GtkLabel * l, const char * str)
{
  gtr_label_set_text (l, str);
}