diff options
author | Tom Willemsen | 2012-10-24 00:01:06 +0200 |
---|---|---|
committer | Tom Willemsen | 2012-10-24 00:01:06 +0200 |
commit | 15c7c143680175d37419d36b271b17d49a0991e3 (patch) | |
tree | a0b70f86176aee67784a7ec73476a2724899052a /src/eom-main-window.c | |
parent | fd7f0ec9a302a8e9060af9aa8fbdf7a031c93760 (diff) | |
download | eye-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.c | 14 |
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 |