diff --git a/li.sopht.Flashcards.json b/li.sopht.Flashcards.json index e5d6325..9c630ed 100644 --- a/li.sopht.Flashcards.json +++ b/li.sopht.Flashcards.json @@ -4,8 +4,8 @@ "runtime-version": "47", "sdk": "org.gnome.Sdk", "command": "flashcards", + "separate-locales": false, "finish-args": [ - "--share=network", "--share=ipc", "--socket=fallback-x11", "--device=dri", diff --git a/resources/ui/window.blp b/resources/ui/window.blp index c7aeb5d..87c81f7 100644 --- a/resources/ui/window.blp +++ b/resources/ui/window.blp @@ -5,7 +5,7 @@ template $FlashcardsAppWindow : Adw.ApplicationWindow { title: _("Flashcards"); Adw.Breakpoint { - condition ( "max-width: 400sp" ) + condition ( "max-width: 600sp" ) setters { split_view.collapsed: true; } @@ -13,7 +13,7 @@ template $FlashcardsAppWindow : Adw.ApplicationWindow { Adw.NavigationSplitView split_view { [sidebar] - Adw.NavigationPage sidebar{ + Adw.NavigationPage sidebar { title: _("Categories"); Box { diff --git a/src/create-category.c b/src/create-category.c index ccba37f..787fac5 100644 --- a/src/create-category.c +++ b/src/create-category.c @@ -27,7 +27,7 @@ on_response(AdwAlertDialog *dialog, gchar *response, gpointer user_data) { - FlashcardsCreateCategoryDialog *self = FLASHCARDS_CREATE_CATEGORY_DIALOG(user_data); + FlashcardsCreateCategoryDialog *self = user_data; const gchar *category = gtk_editable_get_text(self->entry); diff --git a/src/database.c b/src/database.c index 4d6e6ae..25ec181 100644 --- a/src/database.c +++ b/src/database.c @@ -1,37 +1,35 @@ #include "database.h" #include -#include -sqlite3 *db; - -void database_connect(const char *path) +sqlite3 *database_connect(const char *path) { - // char *zErrMsg = 0; - int rc; gchar *file = g_build_filename(path, "cards.db", NULL); + sqlite3 *db; rc = sqlite3_open(file, &db); if (rc) { fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db)); - return; + return NULL; } else { fprintf(stderr, "Opened database successfully\n"); } g_free(file); + + return db; } -void database_close() +void database_close(sqlite3 *db) { sqlite3_close(db); } -void database_create_tables() +void database_create_tables(sqlite3 *db) { int rc; sqlite3_stmt *stmt; @@ -69,7 +67,7 @@ void database_create_tables() sqlite3_finalize(stmt); } -void database_save_category(const char *c) +void database_save_category(sqlite3 *db, const char *c) { int rc; sqlite3_stmt *stmt; @@ -94,7 +92,7 @@ void database_save_category(const char *c) sqlite3_finalize(stmt); } -GArray *database_load_categories() +GArray *database_load_categories(sqlite3 *db) { GArray *categories = g_array_new(TRUE, FALSE, sizeof(category)); @@ -123,7 +121,7 @@ GArray *database_load_categories() return categories; } -void database_save_card(card c) +void database_save_card(sqlite3 *db, card c) { int rc; sqlite3_stmt *stmt; @@ -146,7 +144,7 @@ void database_save_card(card c) sqlite3_finalize(stmt); } -GArray *database_load_cards() +GArray *database_load_cards(sqlite3 *db) { GArray *cards = g_array_new(TRUE, FALSE, sizeof(card)); diff --git a/src/database.h b/src/database.h index d0cdd76..c454123 100644 --- a/src/database.h +++ b/src/database.h @@ -1,4 +1,5 @@ #include +#include typedef struct category { @@ -13,16 +14,16 @@ typedef struct card char *solution; } card; -void database_connect(const char *path); +sqlite3 *database_connect(const char *path); -void database_close(); +void database_close(sqlite3 *db); -void database_create_tables(); +void database_create_tables(sqlite3 *db); -void database_save_category(); +void database_save_category(sqlite3 *db, const char *c); -GArray *database_load_categories(); +GArray *database_load_categories(sqlite3 *db); -void database_save_card(card c); +void database_save_card(sqlite3 *db, card c); -GArray *database_load_cards(); \ No newline at end of file +GArray *database_load_cards(sqlite3 *db); \ No newline at end of file diff --git a/src/flashcardsapp.c b/src/flashcardsapp.c index 4d47e94..eb23c16 100644 --- a/src/flashcardsapp.c +++ b/src/flashcardsapp.c @@ -16,9 +16,9 @@ struct _FlashcardsApp G_DEFINE_TYPE(FlashcardsApp, flashcards_app, ADW_TYPE_APPLICATION); static void -flashcards_app_quit_action(GSimpleAction *action, - GVariant *parameter, - gpointer user_data) +flashcards_app_quit(__attribute__((unused)) GSimpleAction *action, + __attribute__((unused)) GVariant *parameter, + gpointer user_data) { FlashcardsApp *self = user_data; g_assert(FLASHCARDS_IS_APP(self)); @@ -26,9 +26,9 @@ flashcards_app_quit_action(GSimpleAction *action, } static void -flashcards_app_about_action(GSimpleAction *action, - GVariant *parameter, - gpointer user_data) +flashcards_app_about(__attribute__((unused)) GSimpleAction *action, + __attribute__((unused)) GVariant *parameter, + gpointer user_data) { static const char *developers[] = {"Sophie Krause", NULL}; FlashcardsApp *self = user_data; @@ -51,8 +51,8 @@ flashcards_app_about_action(GSimpleAction *action, } static const GActionEntry app_actions[] = { - {"quit", flashcards_app_quit_action}, - {"about", flashcards_app_about_action}, + {"quit", flashcards_app_quit, NULL, NULL, NULL, {0, 0, 0}}, + {"about", flashcards_app_about, NULL, NULL, NULL, {0, 0, 0}}, }; static void @@ -77,13 +77,12 @@ flashcards_app_activate(GApplication *app) static void flashcards_app_open(GApplication *app, - GFile **files, - int n_files, - const char *hint) + __attribute__((unused)) GFile **files, + __attribute__((unused)) int n_files, + __attribute__((unused)) const char *hint) { GList *windows; FlashcardsAppWindow *win; - int i; windows = gtk_application_get_windows(GTK_APPLICATION(app)); if (windows) @@ -91,9 +90,6 @@ flashcards_app_open(GApplication *app, else win = flashcards_app_window_new(FLASHCARDS_APP(app)); - for (i = 0; i < n_files; i++) - flashcards_app_window_open(win, files[i]); - gtk_window_present(GTK_WINDOW(win)); } diff --git a/src/flashcardsappwin.c b/src/flashcardsappwin.c index b58516b..3141537 100644 --- a/src/flashcardsappwin.c +++ b/src/flashcardsappwin.c @@ -13,6 +13,8 @@ struct _FlashcardsAppWindow { AdwApplicationWindow parent; + sqlite3 *db; + GArray *categories; AdwNavigationSplitView *split_view; @@ -34,7 +36,7 @@ on_category_selected(GtkListBox *box, GtkListBoxRow *row, gpointer user_data) return; } printf("Test\n"); - FlashcardsAppWindow *win = FLASHCARDS_APP_WINDOW(gtk_widget_get_root(GTK_WIDGET(box))); + FlashcardsAppWindow *win = user_data; adw_navigation_split_view_set_show_content(ADW_NAVIGATION_SPLIT_VIEW(win->split_view), TRUE); int id = gtk_list_box_row_get_index(gtk_list_box_get_selected_row(win->topics)); @@ -51,7 +53,7 @@ on_add_category(GtkButton *self, void flashcards_app_window_test(FlashcardsAppWindow *win, const gchar *test) { - database_save_category(test); + database_save_category(win->db, test); GtkWidget *child = adw_action_row_new(); adw_preferences_row_set_title(ADW_PREFERENCES_ROW(child), test); @@ -64,9 +66,9 @@ flashcards_app_window_init(FlashcardsAppWindow *win) { gtk_widget_init_template(GTK_WIDGET(win)); - database_connect(g_get_user_data_dir()); - database_create_tables(); - win->categories = database_load_categories(); + win->db = database_connect(g_get_user_data_dir()); + database_create_tables(win->db); + win->categories = database_load_categories(win->db); GArray *categories = win->categories; @@ -102,7 +104,3 @@ flashcards_app_window_new(FlashcardsApp *app) { return g_object_new(FLASHCARDS_APP_WINDOW_TYPE, "application", app, NULL); } - -void flashcards_app_window_open(FlashcardsAppWindow *win, GFile *file) -{ -} diff --git a/src/flashcardsappwin.h b/src/flashcardsappwin.h index d3bf7f1..07854b3 100644 --- a/src/flashcardsappwin.h +++ b/src/flashcardsappwin.h @@ -9,8 +9,6 @@ G_DECLARE_FINAL_TYPE(FlashcardsAppWindow, flashcards_app_window, FLASHCARDS, APP_WINDOW, AdwApplicationWindow) FlashcardsAppWindow *flashcards_app_window_new(FlashcardsApp *app); -void flashcards_app_window_open(FlashcardsAppWindow *win, - GFile *file); void flashcards_app_window_test(FlashcardsAppWindow *win, const gchar *test); #endif /* __FLASHCARDSAPPWIN_H */