From 3b4273404e627d10a87c1cba0adb592afb81c344 Mon Sep 17 00:00:00 2001 From: sergiotarxz Date: Fri, 29 Oct 2021 22:11:19 +0200 Subject: [PATCH] Missing changes in main.c and makefile --- Makefile | 2 +- main.c | 159 ++----------------------------------------------------- 2 files changed, 5 insertions(+), 156 deletions(-) diff --git a/Makefile b/Makefile index 1c09b06..08faeda 100644 --- a/Makefile +++ b/Makefile @@ -6,4 +6,4 @@ LDFLAGS := $(shell pkg-config --libs ${LIBS}) CC_COMMAND := ${CC} ${INCDIR} ${CFLAGS} all: build build: - ${CC_COMMAND} src/manga.c src/backend/readmng.c manga.c main.c -o main ${LDFLAGS} -ggdb + ${CC_COMMAND} src/view/list_view_manga.c src/view/main_view.c src/manga.c src/backend/readmng.c manga.c main.c -o main ${LDFLAGS} -ggdb diff --git a/main.c b/main.c index dd71a10..a3f2ad8 100644 --- a/main.c +++ b/main.c @@ -1,157 +1,6 @@ -#include -#include +#include -#include -#include - -#include -#include - -AdwHeaderBar * -create_headerbar (GtkBox *box); -GtkBox * -create_main_box (AdwApplicationWindow *window); -GtkBox * -create_manga_container (); -GtkListBox * -create_list_box (GtkBox *box); -void -g_object_set_property_int(GObject *object, char *property_key, int value); -static void -setup_list_view_mangas(GtkSignalListItemFactory *factory, - GtkListItem *list_item, - gpointer user_data); - -void -activate (AdwApplication *app, - gpointer user_data) -{ - GtkWidget *window = - adw_application_window_new (GTK_APPLICATION (app)); - GtkBox *box = create_main_box( - ADW_APPLICATION_WINDOW - (window)); - create_headerbar (box); - - GListStore *mangas; - - MgBackendReadmng *readmng = mg_backend_readmng_new (); - mangas = mg_backend_readmng_get_featured_manga (readmng); - GtkSingleSelection *selection = gtk_single_selection_new (G_LIST_MODEL (mangas)); - GtkListItemFactory *factory = gtk_signal_list_item_factory_new (); - g_signal_connect (G_OBJECT (factory), "bind", - G_CALLBACK (setup_list_view_mangas), - NULL); - GtkWidget *list_view = gtk_list_view_new (GTK_SELECTION_MODEL (selection), - factory); - GtkWidget *scroll = gtk_scrolled_window_new (); - gtk_widget_set_valign (scroll, GTK_ALIGN_FILL); - gtk_widget_set_vexpand (scroll, 1); - gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (scroll), list_view); - gtk_box_append (box, scroll); - - gtk_widget_show (window); -} - -static void -setup_list_view_mangas(GtkSignalListItemFactory *factory, - GtkListItem *list_item, - gpointer user_data) { - MgManga *manga = gtk_list_item_get_item (list_item); - GtkBox *box = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0)); - GtkWidget *label = gtk_label_new (mg_manga_get_title (manga)); - GtkWidget *picture; - - GFileIOStream *iostream; - GFile *tmp_image; - GError *error = NULL; - - size_t size_downloaded_image = 0; - char *downloaded_image; - - downloaded_image = get_request (mg_manga_get_image_url(manga), &size_downloaded_image); - tmp_image = g_file_new_tmp ("mangareadertmpfileXXXXXX", - &iostream, - &error - ); - if (error) { - fprintf (stderr, "Unable to read file: %s\n", error->message); - return; - } - error = NULL; - g_output_stream_write (g_io_stream_get_output_stream (G_IO_STREAM (iostream)), - downloaded_image, size_downloaded_image, NULL, &error); - if (error) { - fprintf (stderr, "Unable to write file: %s\n", error->message); - return; - } - picture = gtk_picture_new_for_file (tmp_image); - g_object_set_property_int (G_OBJECT(picture), "height-request", 200); - gtk_box_append (box, picture); - gtk_box_append (box, label); - gtk_list_item_set_child (list_item, GTK_WIDGET (box)); -} - -void -g_object_set_property_int(GObject *object, char *property_key, int value) { - GValue property = G_VALUE_INIT; - g_value_init (&property, G_TYPE_INT); - g_value_set_int (&property, value); - g_object_set_property (object, property_key, &property); -} - -GtkBox * -create_manga_container () { - GtkBox *manga_container; - manga_container = GTK_BOX (gtk_box_new( - GTK_ORIENTATION_HORIZONTAL, - 0)); - return manga_container; -} - -GtkBox * -create_main_box (AdwApplicationWindow *window) { - GtkWidget *box = gtk_box_new( - GTK_ORIENTATION_VERTICAL, - 10); - adw_application_window_set_content( - window, - box); - return GTK_BOX (box); -} - -GtkListBox * -create_list_box (GtkBox *box) { - GtkWidget *list = gtk_list_box_new (); - gtk_box_append (box, list); - return GTK_LIST_BOX (list); -} - -AdwHeaderBar * -create_headerbar (GtkBox *box) { - GtkWidget *title = - adw_window_title_new ("Window", NULL); - GtkWidget *header = - adw_header_bar_new(); - adw_header_bar_set_title_widget( - ADW_HEADER_BAR (header), - GTK_WIDGET (title)); - gtk_box_append (box, header); - - - return ADW_HEADER_BAR (header); -} - -int -main (int argc, - char **argv) -{ - AdwApplication *app; - int status; - - app = adw_application_new ("org.mangareader", G_APPLICATION_FLAGS_NONE); - g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); - status = g_application_run (G_APPLICATION (app), argc, argv); - g_object_unref (app); - return status; +int main (int argc, + char **argv) { + main_view_run (argc, argv); }