
/* limacms
 * 
 * gcc $(pkg-config --cflags gtk4) -o limacms ./limacms_scr/limacms.c $(pkg-config --libs gtk4)
 */

#include <gtk/gtk.h>




static void
scrjpgmr (GtkWidget *widget, gpointer data) {  g_print (" scrjpgmr.sh\n") , system( "/bin/bash ./limacms_scr/scrjpgmr.sh " ) ; }
static void
scrpngmr (GtkWidget *widget, gpointer data) {  g_print (" scrpngmr.sh\n") , system( "/bin/bash ./limacms_scr/scrpngmr.sh " ) ; }
static void
scraviogv (GtkWidget *widget, gpointer data) {  g_print (" scravi-ogv.sh\n") , system( "/bin/bash ./limacms_scr/scravi-ogv.sh " ) ; }
static void
scroggmp3 (GtkWidget *widget, gpointer data) {  g_print (" scrogg-mp3.sh\n") , system( "/bin/bash ./limacms_scr/scrogg-mp3.sh " ) ; }


static void
scraddjpg (GtkWidget *widget, gpointer data) {  g_print (" scraddjpg.sh\n") , system( "/bin/bash ./limacms_scr/scraddjpg.sh " ) ; }
static void
scraddpng (GtkWidget *widget, gpointer data) {  g_print (" scraddpng.sh\n") , system( "/bin/bash ./limacms_scr/scraddpng.sh " ) ; }
static void
scraddgif (GtkWidget *widget, gpointer data) {  g_print (" scraddgif.sh\n") , system( "/bin/bash ./limacms_scr/scraddgif.sh " ) ; }
static void
scraddogv (GtkWidget *widget, gpointer data) {  g_print (" scraddogv.sh\n") , system( "/bin/bash ./limacms_scr/scraddogv.sh " ) ; }
static void
scraddmp3 (GtkWidget *widget, gpointer data) {  g_print (" scraddmp3.sh\n") , system( "/bin/bash ./limacms_scr/scraddmp3.sh " ) ; }

static void
scraddimg (GtkWidget *widget, gpointer data) {  g_print (" scraddimg.sh\n") , system( "/bin/bash ./limacms_scr/scraddimg.sh " ) ; }


static void
scrall (GtkWidget *widget, gpointer data) {  g_print (" scrall.sh\n") , system( "/bin/bash ./limacms_scr/scrall.sh " ) ; }




static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *grid;
  GtkWidget *button;

  /* create a new window, and set its title */
  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Limacms");
  gtk_window_set_default_size (GTK_WINDOW (window), 300, 300);

  /* Buttons */
  grid = gtk_grid_new ();

  /* Pack the container in the window */
  gtk_window_set_child (GTK_WINDOW (window), grid);



  button = gtk_button_new_with_label ("Resize jpg");
  g_signal_connect (button, "clicked", G_CALLBACK (scrjpgmr), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1);

  button = gtk_button_new_with_label ("Resize png");
  g_signal_connect (button, "clicked", G_CALLBACK (scrpngmr), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1);

  button = gtk_button_new_with_label ("Convert avi-ogv");
  g_signal_connect (button, "clicked", G_CALLBACK (scraviogv), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 2, 0, 1, 1);

  button = gtk_button_new_with_label ("Convert ogg-mp3");
  g_signal_connect (button, "clicked", G_CALLBACK (scroggmp3), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 3, 0, 1, 1);



  button = gtk_button_new_with_label ("Add jpg");
  g_signal_connect (button, "clicked", G_CALLBACK (scraddjpg), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 1, 1);

  button = gtk_button_new_with_label ("Add png");
  g_signal_connect (button, "clicked", G_CALLBACK (scraddpng), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 1, 1, 1, 1);

  button = gtk_button_new_with_label ("Add gif");
  g_signal_connect (button, "clicked", G_CALLBACK (scraddgif), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 2, 1, 1, 1);

  button = gtk_button_new_with_label ("Add ogv");
  g_signal_connect (button, "clicked", G_CALLBACK (scraddogv), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 3, 1, 1, 1);

  button = gtk_button_new_with_label ("Add mp3");
  g_signal_connect (button, "clicked", G_CALLBACK (scraddmp3), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 4, 1, 1, 1);


  button = gtk_button_new_with_label ("Add all");
  g_signal_connect (button, "clicked", G_CALLBACK (scraddimg), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 5, 1, 1, 1);



  button = gtk_button_new_with_label (" Resize && Convert && Add ALL");
  g_signal_connect (button, "clicked", G_CALLBACK (scrall), NULL);
  gtk_grid_attach (GTK_GRID (grid), button, 0, 2, 3, 1);



  button = gtk_button_new_with_label ("Quit");
  g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_window_destroy), window);

  /* Place the Quit button in the grid cell (0, 1), and make it
   * span 2 columns.
   */
  gtk_grid_attach (GTK_GRID (grid), button, 0, 3, 2, 1);

  gtk_window_present (GTK_WINDOW (window));
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_DEFAULT_FLAGS);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}
