aboutsummaryrefslogtreecommitdiffstats
path: root/src/c-main-window.c
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2010-10-21 21:00:26 +0200
committerGravatar Tom Willemsen2010-10-21 21:00:26 +0200
commit8a45361b4f6fd8613a78011f5421091a18781773 (patch)
treed82f7cf91cad96139a1ea80f2bf4a00890071a8b /src/c-main-window.c
parent4b153e25e4b51a1cd4d7876bf6cd1dfb14744344 (diff)
downloadeye-on-manga-8a45361b4f6fd8613a78011f5421091a18781773.tar.gz
eye-on-manga-8a45361b4f6fd8613a78011f5421091a18781773.zip
Changed name from Collections to Eye on Manga
Diffstat (limited to 'src/c-main-window.c')
-rw-r--r--src/c-main-window.c332
1 files changed, 0 insertions, 332 deletions
diff --git a/src/c-main-window.c b/src/c-main-window.c
deleted file mode 100644
index e1487dc..0000000
--- a/src/c-main-window.c
+++ /dev/null
@@ -1,332 +0,0 @@
-#include "c-main-window.h"
-#include <hildon/hildon.h>
-#include <gtk/gtk.h>
-#include <string.h>
-#include <stdlib.h>
-#include "c-new-item-dialog.h"
-#include "data.h"
-#include "interface.h"
-
-G_DEFINE_TYPE(CMainWindow, c_main_window, HILDON_TYPE_STACKABLE_WINDOW)
-
-enum {
- COL_ID = 0,
- COL_NAME,
- COL_CURRENT,
- COL_TOTAL,
- NUM_COLS
-};
-
-static void c_main_window_add_menu(CMainWindow *window);
-static void c_main_window_on_new(GtkWidget *widget, GtkWindow *window);
-static void c_main_window_on_selection_changed(GtkTreeSelection *selection,
- gpointer user_data);
-static void c_main_window_on_add_clicked(GtkWidget *widget, gpointer user_data);
-static void c_main_window_on_remove_clicked(GtkWidget *widget,
- gpointer user_data);
-static void c_main_window_on_edit_clicked(GtkWidget *widget,
- gpointer user_data);
-
-GtkWidget *c_main_window_new(void)
-{
- return g_object_new(C_TYPE_MAIN_WINDOW, NULL);
-}
-
-void c_main_window_load(CMainWindow *self)
-{
- GList *list;
-
- gtk_list_store_clear(self->store);
-
- list = data_get_series();
-
- while (list) {
- struct collection *col = list->data;
- c_main_window_add_line(self, col->id, col->name,
- col->current_qty, col->total_qty);
- list = g_list_next(list);
- }
-
- g_list_free_1(list);
-}
-
-void c_main_window_add_line(CMainWindow *window,
- gint id,
- const gchar *name,
- gint current_qty,
- gint total_qty)
-{
- gtk_list_store_append(window->store, &window->iter);
- gtk_list_store_set(window ->store, &window->iter,
- COL_ID, id,
- COL_NAME, name,
- COL_CURRENT, current_qty,
- COL_TOTAL, total_qty,
- -1);
-}
-
-void c_main_window_set_no_select(CMainWindow *self)
-{
- if (GTK_IS_WIDGET(self->add_button))
- gtk_widget_set_sensitive(GTK_WIDGET(self->add_button), FALSE);
- if (GTK_IS_WIDGET(self->remove_button))
- gtk_widget_set_sensitive(GTK_WIDGET(self->remove_button), FALSE);
-}
-
-void c_main_window_set_has_select(CMainWindow *self)
-{
- if (GTK_IS_WIDGET(self->add_button))
- gtk_widget_set_sensitive(GTK_WIDGET(self->add_button), TRUE);
- if (GTK_IS_WIDGET(self->remove_button))
- gtk_widget_set_sensitive(GTK_WIDGET(self->remove_button), TRUE);
-}
-
-static void c_main_window_class_init(CMainWindowClass *class)
-{}
-
-static void c_main_window_init(CMainWindow *window)
-{
- GtkCellRenderer *renderer;
- GtkWidget *view;
- GtkWidget *vbox;
- GtkWidget *hbuttonbox;
- GtkWidget *pannablearea;
- GtkTreeViewColumn *current_column;
- int index;
-
- index = -1;
-
- c_main_window_add_menu(window);
-
- g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
- g_signal_connect(window, "delete-event", G_CALLBACK(gtk_main_quit), NULL);
-
- window->store = gtk_list_store_new(NUM_COLS,
- G_TYPE_INT,
- G_TYPE_STRING,
- G_TYPE_INT,
- G_TYPE_INT);
-
- vbox = gtk_vbox_new(FALSE, 0);
-
- pannablearea = hildon_pannable_area_new();
- g_object_set(G_OBJECT(pannablearea),
- "mov-mode", HILDON_MOVEMENT_MODE_VERT,
- NULL);
- gtk_box_pack_start(GTK_BOX(vbox), pannablearea, TRUE, TRUE, 0);
-
- view = gtk_tree_view_new();
- hildon_pannable_area_add_with_viewport(HILDON_PANNABLE_AREA(pannablearea),
- view);
-
- window->selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(view));
- g_signal_connect(window->selection, "changed",
- G_CALLBACK(c_main_window_on_selection_changed),
- (gpointer)window);
-
- renderer = gtk_cell_renderer_text_new();
- gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),
- ++index,
- "Naam",
- renderer,
- "text", COL_NAME,
- NULL);
- current_column = gtk_tree_view_get_column(GTK_TREE_VIEW(view), index);
- gtk_tree_view_column_set_expand(current_column, TRUE);
-
- renderer = gtk_cell_renderer_text_new();
- gtk_object_set(GTK_OBJECT(renderer),
- "xalign", 1.0,
- "width", 100,
- NULL);
- gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),
- ++index,
- "",
- renderer,
- "text", COL_CURRENT,
- NULL);
-
- renderer = gtk_cell_renderer_text_new();
- gtk_object_set(GTK_OBJECT(renderer),
- "xalign", 1.0,
- "width", 100,
- NULL);
- gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(view),
- ++index,
- "",
- renderer,
- "text", COL_TOTAL,
- NULL);
-
- gtk_tree_view_set_model(GTK_TREE_VIEW(view),
- GTK_TREE_MODEL(window->store));
- g_object_unref(window->store);
-
- hbuttonbox = gtk_hbutton_box_new();
- gtk_button_box_set_layout(GTK_BUTTON_BOX(hbuttonbox), GTK_BUTTONBOX_END);
- gtk_box_pack_start(GTK_BOX(vbox), hbuttonbox, FALSE, TRUE, 0);
-
- window->add_button =
- hildon_button_new_with_text(HILDON_SIZE_AUTO_WIDTH |
- HILDON_SIZE_FINGER_HEIGHT,
- HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
- "Add",
- NULL);
- g_signal_connect(window->add_button, "clicked",
- G_CALLBACK(c_main_window_on_add_clicked),
- (gpointer)window);
- gtk_box_pack_start(GTK_BOX(hbuttonbox), window->add_button, FALSE, FALSE, 0);
-
- window->edit_button =
- hildon_button_new_with_text(HILDON_SIZE_AUTO_WIDTH |
- HILDON_SIZE_FINGER_HEIGHT,
- HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
- "Edit",
- NULL);
- g_signal_connect(window->edit_button, "clicked",
- G_CALLBACK(c_main_window_on_edit_clicked),
- (gpointer)window);
- gtk_box_pack_start(GTK_BOX(hbuttonbox), window->edit_button, FALSE, FALSE, 0);
-
- window->remove_button =
- hildon_button_new_with_text(HILDON_SIZE_AUTO_WIDTH |
- HILDON_SIZE_FINGER_HEIGHT,
- HILDON_BUTTON_ARRANGEMENT_HORIZONTAL,
- "Remove",
- NULL);
- g_signal_connect(window->remove_button, "clicked",
- G_CALLBACK(c_main_window_on_remove_clicked),
- (gpointer)window);
- gtk_box_pack_start(GTK_BOX(hbuttonbox),
- window->remove_button, FALSE, FALSE, 0);
-
- gtk_container_add(GTK_CONTAINER(window), vbox);
-
- c_main_window_set_no_select(window);
-}
-
-static void c_main_window_add_menu(CMainWindow *window)
-{
- GtkWidget *appmenu;
- GtkWidget *new_button;
-
- appmenu = hildon_app_menu_new();
-
- new_button = hildon_gtk_button_new(HILDON_SIZE_AUTO);
- gtk_button_set_label(GTK_BUTTON(new_button), "New Item");
- g_signal_connect_after(new_button,
- "clicked",
- G_CALLBACK(c_main_window_on_new),
- GTK_WINDOW(window));
-
- hildon_app_menu_append(HILDON_APP_MENU(appmenu), GTK_BUTTON(new_button));
- gtk_widget_show_all(appmenu);
-
- hildon_stackable_window_set_main_menu(HILDON_STACKABLE_WINDOW(window),
- HILDON_APP_MENU(appmenu));
-}
-
-static void c_main_window_on_new(GtkWidget *widget, GtkWindow *window)
-{
- GtkWidget *dialog;
- gint result;
- 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 = c_new_item_dialog_get_name(C_NEW_ITEM_DIALOG(dialog));
- name = (gchar *)malloc(strlen(tmp) + 1);
-
- strcpy(name, tmp);
- strcat(name, "\0");
-
- total_qty = c_new_item_dialog_get_total_qty(C_NEW_ITEM_DIALOG(dialog));
-
- gtk_widget_destroy(dialog);
- }
-
- if (name != NULL) {
- if (data_add_series(name, total_qty))
- c_main_window_load(C_MAIN_WINDOW(window));
- }
-}
-
-static void c_main_window_on_selection_changed(GtkTreeSelection *selection,
- gpointer user_data)
-{
- gint count;
- CMainWindow *self = (CMainWindow *)user_data;
-
- count = gtk_tree_selection_count_selected_rows(selection);
- if (count == 0)
- c_main_window_set_no_select(self);
- else
- c_main_window_set_has_select(self);
-}
-
-static void c_main_window_on_add_clicked(GtkWidget *widget, gpointer user_data)
-{
- CMainWindow *self;
- gint count;
-
- self = (CMainWindow *)user_data;
- count = gtk_tree_selection_count_selected_rows(self->selection);
-
- if (count > 0) {
- GtkTreeModel *model;
-
- if (gtk_tree_selection_get_selected(self->selection, &model, &self->iter)) {
- gint id;
- gint current_count;
-
- gtk_tree_model_get(model, &self->iter, COL_ID, &id, -1);
- gtk_tree_model_get(model, &self->iter, COL_CURRENT, &current_count, -1);
- if (data_add_to_series(id, 1))
- gtk_list_store_set(GTK_LIST_STORE(self->store), &self->iter,
- COL_CURRENT, current_count + 1, -1);
-
- }
- }
-}
-
-static void c_main_window_on_remove_clicked(GtkWidget *widget,
- gpointer user_data)
-{
- CMainWindow *self;
- gint count;
-
- self = (CMainWindow *)user_data;
- count = gtk_tree_selection_count_selected_rows(self->selection);
-
- if (count > 0) {
- GtkTreeModel *model;
-
- if (gtk_tree_selection_get_selected(self->selection, &model, &self->iter)) {
- gint id;
- gint current_count;
-
- gtk_tree_model_get(model, &self->iter, COL_ID, &id, -1);
- gtk_tree_model_get(model, &self->iter, COL_CURRENT, &current_count, -1);
-
- if (current_count > 0 && data_add_to_series(id, -1))
- gtk_list_store_set(GTK_LIST_STORE(self->store), &self->iter,
- COL_CURRENT, current_count - 1, -1);
- }
- }
-}
-
-static void c_main_window_on_edit_clicked(GtkWidget *widget,
- gpointer user_data)
-{
- CMainWindow *self;
-
- self = (CMainWindow *)user_data;
-
- /* TODO: Place more code here */
- interface_show_edit_window();
-}