aboutsummaryrefslogtreecommitdiffstats
path: root/src/eom-main-window.c
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-10-24 00:01:06 +0200
committerGravatar Tom Willemsen2012-10-24 00:01:06 +0200
commit15c7c143680175d37419d36b271b17d49a0991e3 (patch)
treea0b70f86176aee67784a7ec73476a2724899052a /src/eom-main-window.c
parentfd7f0ec9a302a8e9060af9aa8fbdf7a031c93760 (diff)
downloadeye-on-manga-15c7c143680175d37419d36b271b17d49a0991e3.tar.gz
eye-on-manga-15c7c143680175d37419d36b271b17d49a0991e3.zip
Add updating of data for manga
The title and total numbers can now be changed. * src/data.c (data_add_manga): Change `name' to `const gchar*', we're not changing it. (data_update_manga): New function, updates a manga's information. * src/eom-detail-window.c (eom_detail_window_load): New function, prepares the tables to show the right data. (add_menu): New function, adds a menu to the window. (eom_detail_window_init): Call `add_menu' and prepare the other widgets for showing. (on_edit): New function, opens an edit dialog and reloads the screen afterwards. (set_manga_id): Move data filling to `eom_detail_window_load' and widget preparation to `eom_detail_window_init' and call `eom_detail_window_load'. * src/eom-detail-window.h (EomDetailWindow): Add `ctable' and `rtable' members, these are the tables that show the data. * src/eom-main-window.c (on_new): No need to save and copy the name of a manga, just destroy the widget later and destroy it always. * src/eom-new-item-dialog.c (eom_new_item_dialog_class_init): Add write-only `manga-id' property. (EOM_NEW_PROP_MID): New enum. (finalize): New function. Free the associated manga. (get_property): New function. Get a property, has no properties to get for now. (set_manga_id): New function. Show a manga's information in the entries. (set_property): New function. Set a property. Calls `set_manga_id' for the `manga-id' property. * src/eom-new-item-dialog.h (EomNewItemDialog): Add a `Manga' as member.
Diffstat (limited to 'src/eom-main-window.c')
-rw-r--r--src/eom-main-window.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/eom-main-window.c b/src/eom-main-window.c
index 67d0429..f943e9f 100644
--- a/src/eom-main-window.c
+++ b/src/eom-main-window.c
@@ -233,29 +233,23 @@ on_new(GtkWidget *widget, GtkWindow *window)
{
GtkWidget *dialog;
gint result;
- gchar *name = NULL;
+ const gchar *name = NULL;
gint total_qty;
dialog = interface_show_new_item_dialog(window);
result = gtk_dialog_run(GTK_DIALOG(dialog));
if (result == GTK_RESPONSE_OK) {
- const gchar *tmp;
- tmp = eom_new_item_dialog_get_name(EOM_NEW_ITEM_DIALOG(dialog));
- name = (gchar *)malloc(strlen(tmp) + 1);
-
- strcpy(name, tmp);
- strcat(name, "\0");
-
+ name = eom_new_item_dialog_get_name(EOM_NEW_ITEM_DIALOG(dialog));
total_qty = eom_new_item_dialog_get_total_qty(EOM_NEW_ITEM_DIALOG(dialog));
-
- gtk_widget_destroy(dialog);
}
if (name != NULL) {
if (data_add_manga(name, total_qty))
eom_main_window_load(EOM_MAIN_WINDOW(window));
}
+
+ gtk_widget_destroy(dialog);
}
static void