Example #1
0
static void
webx_dialog_update (WebxDialog         *dlg,
                    WebxPipelineOutput *output)
{
  gchar         text[256];

  g_return_if_fail (WEBX_DIALOG (dlg));

  if (output->background)
    {
      webx_preview_update (WEBX_PREVIEW (dlg->preview),
                           output->background, output->target,
                           &output->target_rect,
                           output->file_size);
      webx_crop_widget_update (WEBX_CROP_WIDGET (dlg->crop),
                               &output->target_rect,
                               output->bg_width, output->bg_height);
      webx_resize_widget_update (WEBX_RESIZE_WIDGET (dlg->resize),
                                 output->bg_width, output->bg_height);
    }
  else
    {
      webx_preview_update_target (WEBX_PREVIEW (dlg->preview),
                                  output->target,
                                  output->file_size);
    }

  g_snprintf (text, sizeof (text),
              _("File size: %02.01f kB"),
              (gdouble) output->file_size / 1024.0);
  gtk_label_set_text (GTK_LABEL (dlg->file_size_label), text);
}
Example #2
0
static void
webx_dialog_destroy (GtkObject *object)
{
  WebxDialog    *dlg = WEBX_DIALOG (object);

  if (dlg->pipeline)
    {
      g_object_unref (dlg->pipeline);
      dlg->pipeline = NULL;
    }

  if (dlg->target_list)
    {
      g_slist_free (dlg->target_list);
      dlg->target_list = NULL;
    }

  if (dlg->radio_list)
    {
      g_slist_free (dlg->radio_list);
      dlg->radio_list = NULL;
    }

  if (GTK_OBJECT_CLASS (parent_class)->destroy)
    GTK_OBJECT_CLASS (parent_class)->destroy (GTK_OBJECT (dlg));
}
Example #3
0
static void
webx_dialog_target_changed (WebxTarget *target,
                            WebxDialog *dlg)
{
  g_return_if_fail (WEBX_DIALOG (dlg));

  webx_pipeline_set_target (WEBX_PIPELINE (dlg->pipeline),
                          GTK_OBJECT (target));
}
Example #4
0
static void
webx_dialog_response (GtkWidget *widget,
                      gint       response_id,
                      gpointer   data)
{
  switch (response_id)
    {
    case GTK_RESPONSE_OK:
      if (webx_dialog_save_dialog (WEBX_DIALOG (widget)))
        {
          webx_dialog_close (WEBX_DIALOG (widget));
        }
      break;

    default:
      webx_dialog_close (WEBX_DIALOG (widget));
      break;
    }
}
Example #5
0
void
webx_dialog_run (WebxDialog *dlg)
{
  g_return_if_fail (WEBX_IS_DIALOG (dlg));
 
  if (! dlg->target)
    webx_dialog_format_set (WEBX_DIALOG (dlg),
                            WEBX_TARGET (dlg->target_list->data));

  webx_dialog_reset (dlg);
  webx_pipeline_run (WEBX_PIPELINE (dlg->pipeline));
  gtk_window_present (GTK_WINDOW (dlg));
  gtk_main();
}
static void
webx_run (gint32 image_ID, gint32 drawable_ID)
{
  GtkWidget *dlg;

  gimp_ui_init (PLUG_IN_BINARY, FALSE);

  global_image_ID = image_ID;
  global_drawable_ID = drawable_ID;


  dlg = webx_dialog_new (image_ID, drawable_ID);
  webx_dialog_run (WEBX_DIALOG (dlg));
}
Example #7
0
static void
webx_dialog_format_changed (GtkToggleButton *togglebutton,
                            WebxDialog      *dlg)
{
  g_return_if_fail (WEBX_IS_DIALOG (dlg));

  if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (togglebutton)))
    {
      GtkWidget    *widget;
      gint          position;

      position = g_slist_index (dlg->radio_list, togglebutton);
      widget = GTK_WIDGET (g_slist_nth (dlg->target_list, position)->data);
      webx_dialog_format_set (WEBX_DIALOG (dlg), WEBX_TARGET (widget));
    }
}
Example #8
0
static void
webx_dialog_crop_changed (GtkWidget    *widget,
                          GdkRectangle *crop,
                          WebxDialog   *dlg)
{
  g_return_if_fail (WEBX_DIALOG (dlg));

  if (! webx_pipeline_crop (WEBX_PIPELINE (dlg->pipeline),
                          crop->width, crop->height,
                          crop->x, crop->y,
                          FALSE))
    return;

  webx_crop_widget_update_target (WEBX_CROP_WIDGET (dlg->crop),
                                  crop);
  webx_preview_crop (WEBX_PREVIEW (dlg->preview),
                     crop);
}
Example #9
0
static void
webx_run (gint32 image_ID, gint32 drawable_ID)
{
  GtkWidget *dlg;

  gimp_ui_init (PLUG_IN_BINARY, FALSE);

  global_image_ID = image_ID;
  global_drawable_ID = drawable_ID;
 
  if (gimp_image_width (image_ID) > WEBX_MAX_SIZE
      || gimp_image_height (image_ID) > WEBX_MAX_SIZE)
    {
      gimp_message (_("The image is too large for Save for Web!"));
      return;
    }

  dlg = webx_dialog_new (image_ID, drawable_ID);
  webx_dialog_run (WEBX_DIALOG (dlg));
}