27
27
#include "list-account.h"
29
29
#include "hub-scheduled.h"
30
#include "hub-spending.h"
30
#include "hub-reptotal.h"
31
#include "hub-reptime.h"
31
32
#include "hub-transaction.h"
33
34
#include "dsp-account.h"
298
299
static void ui_mainwindow_action_quit(void)
302
//emulate the wm close button
303
g_signal_emit_by_name(GLOBALS->mainwindow, "delete-event", NULL, &result);
301
gtk_window_close(GTK_WINDOW(GLOBALS->mainwindow));
478
476
static void ui_mainwindow_action_toggle_upcoming(GtkCheckMenuItem *menuitem, gpointer user_data)
480
478
//struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data");
479
gint flags = UF_VISUAL;
482
481
PREFS->wal_upcoming = gtk_check_menu_item_get_active(menuitem);
483
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_VISUAL));
486
static void ui_mainwindow_action_toggle_topspending(GtkCheckMenuItem *menuitem, gpointer user_data)
488
//struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data");
490
PREFS->wal_spending = gtk_check_menu_item_get_active(menuitem);
491
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_VISUAL));
482
if( PREFS->wal_upcoming == TRUE )
483
flags |= UF_REFRESHALL;
484
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(flags));
487
static void ui_mainwindow_action_toggle_totchart(GtkCheckMenuItem *menuitem, gpointer user_data)
489
//struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data");
490
gint flags = UF_VISUAL;
492
PREFS->wal_totchart = gtk_check_menu_item_get_active(menuitem);
493
if( PREFS->wal_totchart == TRUE )
494
flags |= UF_REFRESHALL;
495
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(flags));
498
static void ui_mainwindow_action_toggle_timchart(GtkCheckMenuItem *menuitem, gpointer user_data)
500
//struct hbfile_data *data = g_object_get_data(G_OBJECT(GLOBALS->mainwindow), "inst_data");
501
gint flags = UF_VISUAL;
503
PREFS->wal_timchart = gtk_check_menu_item_get_active(menuitem);
504
if( PREFS->wal_timchart == TRUE )
505
flags |= UF_REFRESHALL;
506
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(flags));
494
509
static void ui_mainwindow_action_toggle_minor(GtkCheckMenuItem *menuitem, gpointer user_data)
501
516
gtk_tree_view_columns_autosize (GTK_TREE_VIEW(data->LV_upc));
504
gtk_chart_show_minor(GTK_CHART(data->RE_pie), GLOBALS->minor);
519
gtk_chart_show_minor(GTK_CHART(data->RE_hubtot_chart), GLOBALS->minor);
506
ui_hub_spending_update(data->window, data);
521
ui_hub_reptotal_update(data->window, data);
522
ui_hub_reptime_update(data->window, data);
685
701
content_area = gtk_dialog_get_content_area(GTK_DIALOG (dialog));
687
703
table = gtk_grid_new ();
688
//gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
689
704
gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
690
gtk_container_set_border_width (GTK_CONTAINER(table), SPACING_LARGE);
691
705
gtk_box_pack_start (GTK_BOX (content_area), table, FALSE, FALSE, 0);
715
729
mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, SPACING_MEDIUM);
716
730
gtk_box_pack_start (GTK_BOX (content_area), mainvbox, FALSE, FALSE, 0);
717
731
gtk_widget_set_halign (mainvbox, GTK_ALIGN_CENTER);
718
gtk_container_set_border_width (GTK_CONTAINER(mainvbox), SPACING_LARGE);
720
733
//label = make_label (_("What do you want to do:"), 0, 0);
721
734
//gimp_label_set_attributes(GTK_LABEL(label), PANGO_ATTR_WEIGHT, PANGO_WEIGHT_BOLD, -1);
899
912
gtk_window_get_window_type(window),
900
913
gtk_window_get_title(window) ));
902
gtk_widget_destroy(GTK_WIDGET(window));
915
gtk_window_destroy (GTK_WINDOW(window));
903
916
list = g_slist_next(list);
906
919
gtk_tree_store_clear(GTK_TREE_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_acc))));
907
921
gtk_list_store_clear(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_upc))));
908
gtk_list_store_clear(GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_top))));
923
//TODO those 2 do nothing
924
ui_hub_reptotal_clear(GLOBALS->mainwindow, NULL);
925
ui_hub_reptime_clear(GLOBALS->mainwindow, NULL);
910
927
data->showall = FALSE;
911
928
ui_hub_account_dispose(data);
912
929
ui_hub_account_setup(data);
931
ui_hub_reptotal_dispose(data);
932
ui_hub_reptotal_setup(data);
934
ui_hub_reptime_dispose(data);
935
ui_hub_reptime_setup(data);
914
937
hbfile_cleanup(file_clear);
915
938
hbfile_setup(file_clear);
973
996
da_transaction_free(ope);
975
998
deftransaction_dispose(window, NULL);
976
gtk_widget_destroy (window);
999
gtk_window_destroy (GTK_WINDOW(window));
978
1001
/* todo optimize this */
1164
1187
DB( g_print(" - start update window\n") );
1166
1189
ui_hub_account_populate(GLOBALS->mainwindow, NULL);
1167
ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL);
1168
ui_hub_spending_populate(GLOBALS->mainwindow, NULL);
1169
ui_hub_transaction_populate(data);
1171
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_VISUAL));
1190
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_VISUAL+UF_REFRESHALL));
1303
1322
GtkTreeModel *model;
1304
1323
GtkTreeIter iter;
1305
1324
GtkTreePath *path;
1306
gboolean active,sensitive;
1325
gboolean active, sensitive;
1308
1327
DB( g_print(" 2: disabled, opelist count\n") );
1323
1342
if( depth > 1 )
1325
DB( g_print(" depth is %d\n", depth) );
1327
1344
gtk_tree_model_get(GTK_TREE_MODEL(model), &iter, LST_DSPACC_DATAS, &acc, -1);
1328
1345
data->acc = acc;
1346
DB( g_print(" depth is %d, acc=%p\n", depth, acc) );
1331
1349
active = FALSE;
1352
//5.7 browse account website
1353
sensitive = account_has_website(data->acc);
1354
DB( g_print(" account has url: %d\n", sensitive) );
1355
gtk_widget_set_sensitive(data->BT_browse, sensitive);
1334
1357
DB( g_print(" changes %d - new %d\n", GLOBALS->changes_count, GLOBALS->hbfile_is_new) );
1435
1458
DB( g_print(" - show toolbar=%d\n", PREFS->wal_toolbar) );
1436
1459
hb_widget_visible(data->toolbar, PREFS->wal_toolbar);
1438
DB( g_print(" - show top_spending=%d\n", PREFS->wal_spending) );
1439
hb_widget_visible(data->GR_top, PREFS->wal_spending);
1441
//TODO: why this ? to redraw ?
1442
hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_wal);
1461
DB( g_print(" - show totchart=%d\n", PREFS->wal_totchart) );
1462
hb_widget_visible(data->GR_hubtot, PREFS->wal_totchart);
1464
DB( g_print(" - show timchart=%d\n", PREFS->wal_timchart) );
1465
hb_widget_visible(data->GR_hubtim, PREFS->wal_timchart);
1444
1467
DB( g_print(" - show upcoming=%d\n", PREFS->wal_upcoming) );
1445
1468
hb_widget_visible(data->GR_upc, PREFS->wal_upcoming);
1453
1476
DB( g_print(" 16: refreshall\n") );
1455
1478
ui_hub_account_compute(GLOBALS->mainwindow, NULL);
1456
ui_hub_spending_populate(GLOBALS->mainwindow, NULL);
1457
ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL);
1458
ui_hub_transaction_populate(data);
1479
//5.7 don't process if not visible...
1480
if( PREFS->wal_totchart )
1481
ui_hub_reptotal_populate(GLOBALS->mainwindow, NULL);
1482
if( PREFS->wal_timchart )
1483
ui_hub_reptime_populate(GLOBALS->mainwindow, NULL);
1484
if( PREFS->wal_upcoming )
1486
ui_hub_scheduled_populate(GLOBALS->mainwindow, NULL);
1487
ui_hub_transaction_populate(data);
1540
1569
//TODO: retval is useless and below should move to destroy
1542
gtk_widget_destroy(data->LV_top);
1572
//ui_hub_xxx_dispose(data);
1573
gtk_widget_destroy(data->LV_hubtot);
1574
ui_hub_reptotal_dispose(data);
1576
gtk_widget_destroy(data->LV_hubtim);
1577
ui_hub_reptime_dispose(data);
1544
1579
ui_hub_account_dispose(data);
1546
1581
g_free(data->wintitle);
1547
da_flt_free(data->filter);
1548
1582
g_free(user_data);
1550
1584
gtk_main_quit();
1862
1896
data->MI_showtbar = menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Toolbar"));
1863
1897
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
1864
data->MI_showspend = menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Top spending"));
1898
data->MI_showtotchart = menuitem = gtk_check_menu_item_new_with_mnemonic(_("T_otal Chart"));
1899
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
1900
data->MI_showtimchart = menuitem = gtk_check_menu_item_new_with_mnemonic(_("T_ime Chart"));
1865
1901
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
1866
1902
data->MI_showbotlist = menuitem = gtk_check_menu_item_new_with_mnemonic(_("_Bottom Lists"));
1867
1903
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
2005
2041
GLOBALS->mainwindow = window;
2007
2043
mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
2008
gtk_container_add (GTK_CONTAINER (window), mainvbox);
2044
gtk_window_set_child(GTK_WINDOW(window), mainvbox);
2010
2046
//menu and toolbar
2011
2047
data->recent_manager = gtk_recent_manager_get_default ();
2052
2088
/* Add the main area */
2053
2089
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
2054
//gtk_container_set_border_width (GTK_CONTAINER(vbox), SPACING_MEDIUM);
2055
2090
gtk_box_pack_start (GTK_BOX (mainvbox), vbox, TRUE, TRUE, 0);
2057
2092
vpaned = gtk_paned_new(GTK_ORIENTATION_VERTICAL);
2058
2093
data->vpaned = vpaned;
2059
2094
gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0);
2061
2097
hpaned = gtk_paned_new(GTK_ORIENTATION_HORIZONTAL);
2062
2098
data->hpaned = hpaned;
2063
2099
gtk_paned_pack1 (GTK_PANED(vpaned), hpaned, FALSE, FALSE);
2066
2102
//gtk_widget_set_size_request (widget, 100, -1);
2067
2103
gtk_paned_pack1 (GTK_PANED(hpaned), widget, FALSE, FALSE);
2069
widget = ui_hub_spending_create(data);
2105
//5.7 add home time chart
2106
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
2107
gtk_box_set_homogeneous(GTK_BOX(box), TRUE);
2108
gtk_paned_pack2 (GTK_PANED(hpaned), box, TRUE, FALSE);
2110
widget = ui_hub_reptotal_create(data);
2070
2111
//gtk_widget_set_size_request (widget, -1, 100);
2071
gtk_paned_pack2 (GTK_PANED(hpaned), widget, TRUE, FALSE);
2112
gtk_box_pack_start (GTK_BOX (box), widget, TRUE, TRUE, 0);
2114
widget = ui_hub_reptime_create(data);
2115
gtk_box_pack_start (GTK_BOX (box), widget, TRUE, TRUE, 0);
2073
2119
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
2074
2120
data->GR_upc = box;
2075
2121
gtk_paned_pack2 (GTK_PANED(vpaned), box, TRUE, FALSE);
2121
2167
//todo: move this elsewhere
2122
2168
DB( g_print(" - setup stuff\n") );
2124
data->filter = da_flt_malloc();
2125
filter_reset(data->filter);
2126
hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_range), PREFS->date_range_wal);
2128
2170
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showtbar), PREFS->wal_toolbar);
2129
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showspend), PREFS->wal_spending);
2171
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showtotchart), PREFS->wal_totchart);
2172
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showtimchart), PREFS->wal_timchart);
2130
2173
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data->MI_showbotlist), PREFS->wal_upcoming);
2132
2175
/* Drag and drop support, set targets to NULL because we add the
2168
2211
g_signal_connect (data->MI_prefs , "activate", G_CALLBACK (ui_mainwindow_action_preferences), (gpointer)data);
2170
2213
g_signal_connect (data->MI_showtbar , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_toolbar), (gpointer)data);
2171
g_signal_connect (data->MI_showspend , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_topspending), (gpointer)data);
2214
g_signal_connect (data->MI_showtotchart , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_totchart), (gpointer)data);
2215
g_signal_connect (data->MI_showtimchart , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_timchart), (gpointer)data);
2172
2216
g_signal_connect (data->MI_showbotlist , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_upcoming), (gpointer)data);
2173
2217
g_signal_connect (data->MI_eurominor , "toggled", G_CALLBACK (ui_mainwindow_action_toggle_minor), (gpointer)data);