~sjrct/homebank/resize-xfer-window

« back to all changes in this revision

Viewing changes to src/rep-time.c

  • Committer: Maxime Doyen
  • Date: 2023-09-06 19:23:05 UTC
  • Revision ID: homebank@free.fr-20230906192305-k19peze360g5cr9t
5.7 release

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
static void reptime_cb_pay_changed(GtkCellRendererToggle *cell, gchar *path_str, gpointer user_data);
68
68
static void reptime_cb_tag_changed(GtkCellRendererToggle *cell, gchar *path_str, gpointer user_data);
69
69
 
 
70
static gchar *reptime_compute_title(gint src, gint intvl);
 
71
 
70
72
 
71
73
extern HbKvData CYA_REPORT_SRC_TREND[];
72
74
extern HbKvData CYA_REPORT_INTVL[];
111
113
static void reptime_action_print(GtkToolButton *toolbutton, gpointer user_data)
112
114
{
113
115
struct reptime_data *data = user_data;
114
 
gint tmpsrc;
115
 
gchar *name;
 
116
gint tmpsrc, tmpintvl, page;
 
117
gchar *coltitle, *title, *name;
116
118
 
117
119
        tmpsrc  = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src));
 
120
        tmpintvl  = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl));
 
121
        page = gtk_notebook_get_current_page(GTK_NOTEBOOK(data->GR_result));
 
122
 
 
123
        title = reptime_compute_title(tmpsrc, tmpintvl);
 
124
 
118
125
        name = g_strdup_printf("hb-reptime_%s.csv", hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc) );
119
126
 
120
 
        gtk_chart_print(GTK_CHART(data->RE_chart), GTK_WINDOW(data->window), PREFS->path_export, name);
 
127
        if( page == 0 )
 
128
        {
 
129
        GString *node;
 
130
 
 
131
                coltitle = hbtk_get_label(CYA_REPORT_INTVL, tmpintvl);
 
132
                node = lst_reptime_to_string(GTK_TREE_VIEW(data->LV_report), coltitle, TRUE);
 
133
 
 
134
                hb_print_listview(GTK_WINDOW(data->window), node->str, NULL, title, name);
 
135
 
 
136
                g_string_free(node, TRUE);
 
137
        }
 
138
        else
 
139
        {
 
140
                gtk_chart_print(GTK_CHART(data->RE_chart), GTK_WINDOW(data->window), PREFS->path_export, name);
 
141
 
 
142
        }
121
143
 
122
144
        g_free(name);
123
145
}
148
170
 
149
171
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
150
172
 
151
 
 
152
 
static void reptime_date_change(GtkWidget *widget, gpointer user_data)
 
173
static gchar *
 
174
reptime_compute_title(gint src, gint intvl)
 
175
{
 
176
gchar *title;
 
177
 
 
178
        //TRANSLATORS: example 'Category by Month'
 
179
        title = g_strdup_printf(_("%s by %s"), 
 
180
                hbtk_get_label(CYA_REPORT_SRC_TREND, src), 
 
181
                hbtk_get_label(CYA_REPORT_INTVL, intvl)
 
182
        );
 
183
 
 
184
        return title;
 
185
}
 
186
 
 
187
 
 
188
static void
 
189
reptime_date_change(GtkWidget *widget, gpointer user_data)
153
190
{
154
191
struct reptime_data *data;
155
192
 
232
269
}
233
270
 
234
271
 
235
 
 
236
 
 
237
272
static void reptime_update(GtkWidget *widget, gpointer user_data)
238
273
{
239
274
struct reptime_data *data;
240
275
GtkTreeModel *model;
241
276
gint page;
242
 
gint tmpsrc;
 
277
gint tmpsrc, tmpintvl;
243
278
gboolean cumul;
244
279
gchar *title;
245
280
 
251
286
        model = gtk_tree_view_get_model(GTK_TREE_VIEW(data->LV_report));
252
287
        //byamount = 0;
253
288
        tmpsrc  = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src));
254
 
        //tmpintvl = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_intvl));
 
289
        tmpintvl = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_intvl));
255
290
        cumul     = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->CM_cumul));
256
291
 
257
292
        // ensure not exp & inc for piechart
260
295
        DB( g_print(" page %d\n\n", page) );
261
296
        //DB( g_print(" tmpintvl %d\n\n", tmpintvl) );
262
297
 
263
 
        //column = LST_REPTIME_POS;
 
298
        //column = LST_HUBREPTIME_POS;
264
299
        //DB( g_print(" sort on column %d\n\n", column) );
265
300
        //gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model), column, GTK_SORT_DESCENDING);
266
301
 
269
304
 
270
305
        gtk_chart_show_average(GTK_CHART(data->RE_chart), data->average, cumul);
271
306
 
272
 
        //TRANSLATORS: example 'Category Over Time'
273
 
        title = g_strdup_printf(_("%s Over Time"), hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc) );
274
 
        gtk_chart_set_datas_total(GTK_CHART(data->RE_chart), model, LST_REPTIME_AMOUNT, LST_REPTIME_AMOUNT, title, NULL);
 
307
        title = reptime_compute_title(tmpsrc, tmpintvl);
 
308
        gtk_chart_set_datas_total(GTK_CHART(data->RE_chart), model, LST_HUBREPTIME_AMOUNT, LST_HUBREPTIME_AMOUNT, title, NULL);
275
309
        g_free(title);
276
310
 
277
311
        if(page == 1)
288
322
struct reptime_data *data;
289
323
GtkClipboard *clipboard;
290
324
GString *node;
291
 
gchar *title;
 
325
gchar *coltitle;
292
326
gint tmpintvl;
293
327
 
294
328
        DB( g_print("\n[reptime] export result clipboard\n") );
297
331
        //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
298
332
 
299
333
        tmpintvl  = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl));
300
 
        title = hbtk_get_label(CYA_REPORT_INTVL, tmpintvl);
301
334
 
302
 
        node = lst_reptime_to_string(GTK_TREE_VIEW(data->LV_report), title, TRUE);
 
335
        coltitle = hbtk_get_label(CYA_REPORT_INTVL, tmpintvl);
 
336
        node = lst_reptime_to_string(GTK_TREE_VIEW(data->LV_report), coltitle, TRUE);
303
337
 
304
338
        clipboard = gtk_clipboard_get_default(gdk_display_get_default());
305
339
        gtk_clipboard_set_text(clipboard, node->str, node->len);
352
386
struct reptime_data *data;
353
387
GtkClipboard *clipboard;
354
388
GString *node;
 
389
guint flags;
355
390
 
356
391
        DB( g_print("\n[reptime] export detail clipboard\n") );
357
392
 
358
393
        data = user_data;
359
394
        //data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
360
395
 
361
 
        node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), TRUE, FALSE, TRUE, FALSE);
 
396
        flags = LST_TXN_EXP_CLR | LST_TXN_EXP_PMT | LST_TXN_EXP_CAT | LST_TXN_EXP_TAG;
 
397
        node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), TRUE, FALSE, flags);
362
398
 
363
399
        clipboard = gtk_clipboard_get_default(gdk_display_get_default());
364
400
        gtk_clipboard_set_text(clipboard, node->str, node->len);
396
432
                io = g_io_channel_new_file(filepath, "w", NULL);
397
433
                if(io != NULL)
398
434
                {
399
 
                        node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), FALSE, hassplit, hasstatus, FALSE);
 
435
                guint flags;
 
436
 
 
437
                        flags = LST_TXN_EXP_PMT | LST_TXN_EXP_CAT | LST_TXN_EXP_TAG;
 
438
                        if( hasstatus )
 
439
                                flags |= LST_TXN_EXP_CLR;
 
440
                        node = list_txn_to_string(GTK_TREE_VIEW(data->LV_detail), FALSE, hassplit, flags);
400
441
                        g_io_channel_write_chars(io, node->str, -1, NULL, NULL);
401
442
 
402
443
                        g_io_channel_unref (io);
642
683
        from = data->filter->mindate;
643
684
        to   = data->filter->maxdate;
644
685
 
 
686
        //TODO: not necessary until date range change
 
687
        //free previous txn
645
688
        g_queue_free (data->txn_queue);
646
689
        data->txn_queue = hbfile_transaction_get_partial(data->filter->mindate, data->filter->maxdate);
647
690
 
648
691
        n_result = report_interval_count(tmpintvl, from, to);
649
692
 
650
 
        DB( gint tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)); );
651
 
        DB( g_print(" %s :: n_result=%d\n", hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc), n_result) );
 
693
        //DB( gint tmpsrc = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_src)) );
 
694
        //DB( g_print(" %s :: n_result=%d\n", hbtk_get_label(CYA_REPORT_SRC_TREND, tmpsrc), n_result) );
652
695
 
653
696
        /* allocate some memory */
654
697
        tmp_amount = g_malloc0((n_result+2) * sizeof(gdouble));
714
757
                        //DB( g_print(" inserting %2d, '%s', %9.2f\n", i, intvlname, value) );
715
758
 
716
759
                gtk_list_store_insert_with_values (GTK_LIST_STORE(model), &iter, -1,
717
 
                                LST_REPTIME_POS, id++,
718
 
                                LST_REPTIME_KEY, i,
719
 
                                LST_REPTIME_TITLE, intvlname,
720
 
                                LST_REPTIME_AMOUNT, value,
 
760
                                LST_HUBREPTIME_POS, id++,
 
761
                                LST_HUBREPTIME_KEY, i,
 
762
                                LST_HUBREPTIME_TITLE, intvlname,
 
763
                                LST_HUBREPTIME_AMOUNT, value,
721
764
                                -1);
722
765
 
723
766
                }
800
843
        hb_widget_visible (data->BT_export, visible);
801
844
 
802
845
        visible = page == 0 ? FALSE : TRUE;
803
 
        hb_widget_visible(data->BT_print, visible);
 
846
        //5.7
 
847
        //hb_widget_visible(data->BT_print, visible);
804
848
        hb_widget_visible(data->LB_zoomx, visible);
805
849
        hb_widget_visible(data->RG_zoomx, visible);
806
850
 
937
981
 
938
982
                if (gtk_tree_selection_get_selected(treeselection, &model, &iter))
939
983
                {
940
 
                        gtk_tree_model_get(model, &iter, LST_REPTIME_KEY, &key, -1);
 
984
                        gtk_tree_model_get(model, &iter, LST_HUBREPTIME_KEY, &key, -1);
941
985
 
942
986
                        DB( g_print(" - active is %d\n", key) );
943
987
 
1015
1059
 
1016
1060
        if (gtk_tree_selection_get_selected(treeselection, &model, &iter))
1017
1061
        {
1018
 
                gtk_tree_model_get(model, &iter, LST_REPTIME_KEY, &key, -1);
 
1062
                gtk_tree_model_get(model, &iter, LST_HUBREPTIME_KEY, &key, -1);
1019
1063
 
1020
1064
        }
1021
1065
 
1123
1167
        DB( g_print("\n[reptime] reset filter\n") );
1124
1168
 
1125
1169
        filter_reset(data->filter);
1126
 
 
 
1170
        filter_preset_daterange_set(data->filter, PREFS->date_range_rep, data->accnum);
1127
1171
        /* 3.4 : make int transfer out of stats */
1128
 
        //todo: for compatibility with < 5.3, keep this unset, but normally it should be set
1129
 
        //data->filter->option[FLT_GRP_TYPE] = 2;
1130
 
        //data->filter->type = FLT_TYPE_INTXFER;
1131
 
 
1132
 
        filter_preset_daterange_set(data->filter, PREFS->date_range_rep, data->accnum);
 
1172
        //TODO: for compatibility with < 5.3, keep this unset, but normally it should be set
 
1173
        //filter_preset_type_set(data->filter, FLT_TYPE_INTXFER, FLT_EXCLUDE);
1133
1174
 
1134
1175
        //g_signal_handler_block(data->PO_mindate, data->handler_id[HID_REPTIME_MINDATE]);
1135
1176
        //g_signal_handler_block(data->PO_maxdate, data->handler_id[HID_REPTIME_MAXDATE]);
1150
1191
 
1151
1192
        reptime_filter_setup(data);
1152
1193
 
1153
 
 
1154
 
 
1155
1194
        DB( g_print(" populate\n") );
1156
 
        
1157
 
        ui_acc_listview_populate(data->LV_acc, ACC_LST_INSERT_REPORT);
 
1195
        ui_acc_listview_populate(data->LV_acc, ACC_LST_INSERT_REPORT, NULL);
1158
1196
        ui_cat_listview_populate(data->LV_cat, CAT_TYPE_ALL, NULL, TRUE);
1159
1197
        ui_pay_listview_populate(data->LV_pay, NULL, TRUE);
1160
1198
        ui_tag_listview_populate(data->LV_tag, 0);
1161
1199
 
1162
1200
        DB( g_print(" set widgets default\n") );
1163
 
 
1164
1201
        //src is account
1165
1202
        hbtk_combo_box_set_active_id(GTK_COMBO_BOX_TEXT(data->CY_intvl), REPORT_INTVL_MONTH);
1166
1203
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data->CM_minor), GLOBALS->minor);
1304
1341
{
1305
1342
struct reptime_data *data;
1306
1343
struct WinGeometry *wg;
1307
 
GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview, *treebox, *sw;
 
1344
GtkWidget *window, *mainvbox, *hbox, *vbox, *notebook, *treeview, *treebox, *scrollwin;
1308
1345
GtkWidget *label, *widget, *table;
1309
1346
gint row;
1310
1347
 
1334
1371
 
1335
1372
        //window contents
1336
1373
        mainvbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
1337
 
        gtk_container_add (GTK_CONTAINER (window), mainvbox);
 
1374
        gtk_window_set_child(GTK_WINDOW(window), mainvbox);
1338
1375
 
1339
1376
        hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
1340
1377
    gtk_box_pack_start (GTK_BOX (mainvbox), hbox, TRUE, TRUE, 0);
1344
1381
        gtk_widget_set_hexpand (GTK_WIDGET(table), FALSE);
1345
1382
    gtk_box_pack_start (GTK_BOX (hbox), table, FALSE, FALSE, 0);
1346
1383
 
1347
 
        gtk_container_set_border_width (GTK_CONTAINER (table), SPACING_SMALL);
 
1384
        hb_widget_set_margin(GTK_WIDGET(table), SPACING_SMALL);
1348
1385
        gtk_grid_set_row_spacing (GTK_GRID (table), SPACING_SMALL);
1349
1386
        gtk_grid_set_column_spacing (GTK_GRID (table), SPACING_MEDIUM);
1350
1387
 
1455
1492
        gtk_notebook_set_show_border(GTK_NOTEBOOK(notebook), FALSE);    
1456
1493
        gtk_grid_attach (GTK_GRID (table), notebook, 1, row, 2, 1);
1457
1494
 
1458
 
                sw = gtk_scrolled_window_new(NULL,NULL);
1459
 
                data->SW_acc = sw;
1460
 
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1461
 
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
1462
 
                gtk_widget_set_margin_bottom (sw, SPACING_LARGE);
1463
 
                widget = ui_acc_listview_new(TRUE);
1464
 
                data->LV_acc = widget;
1465
 
                gtk_widget_set_vexpand (widget, TRUE);
1466
 
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
1467
 
                gtk_container_add(GTK_CONTAINER(sw), widget);
1468
 
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw, NULL);
1469
 
 
1470
 
                sw = gtk_scrolled_window_new(NULL,NULL);
1471
 
                //data->SW_acc = sw;
1472
 
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1473
 
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
1474
 
                gtk_widget_set_margin_bottom (sw, SPACING_LARGE);
1475
 
                widget = ui_cat_listview_new(TRUE, FALSE);
1476
 
                data->LV_cat = widget;
1477
 
                gtk_widget_set_vexpand (widget, TRUE);
1478
 
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
1479
 
                gtk_container_add(GTK_CONTAINER(sw), widget);
1480
 
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw, NULL);
1481
 
 
1482
 
                sw = gtk_scrolled_window_new(NULL,NULL);
1483
 
                //data->SW_acc = sw;
1484
 
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1485
 
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
1486
 
                gtk_widget_set_margin_bottom (sw, SPACING_LARGE);
1487
 
                widget = ui_pay_listview_new(TRUE, FALSE);
1488
 
                data->LV_pay = widget;
1489
 
                gtk_widget_set_vexpand (widget, TRUE);
1490
 
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
1491
 
                gtk_container_add(GTK_CONTAINER(sw), widget);
1492
 
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw, NULL);
1493
 
 
1494
 
                sw = gtk_scrolled_window_new(NULL,NULL);
1495
 
                //data->SW_acc = sw;
1496
 
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1497
 
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
1498
 
                gtk_widget_set_margin_bottom (sw, SPACING_LARGE);
1499
 
                widget = ui_tag_listview_new(TRUE);
1500
 
                data->LV_tag = widget;
1501
 
                gtk_widget_set_vexpand (widget, TRUE);
1502
 
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
1503
 
                gtk_container_add(GTK_CONTAINER(sw), widget);
1504
 
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), sw, NULL);
 
1495
                scrollwin = gtk_scrolled_window_new(NULL,NULL);
 
1496
                data->SW_acc = scrollwin;
 
1497
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
1498
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
 
1499
                gtk_widget_set_margin_bottom (scrollwin, SPACING_LARGE);
 
1500
                treeview = ui_acc_listview_new(TRUE);
 
1501
                data->LV_acc = treeview;
 
1502
                gtk_widget_set_vexpand (treeview, TRUE);
 
1503
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
 
1504
                gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
 
1505
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scrollwin, NULL);
 
1506
 
 
1507
                scrollwin = gtk_scrolled_window_new(NULL,NULL);
 
1508
                //data->SW_acc = scrollwin;
 
1509
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
1510
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
 
1511
                gtk_widget_set_margin_bottom (scrollwin, SPACING_LARGE);
 
1512
                treeview = ui_cat_listview_new(TRUE, FALSE);
 
1513
                data->LV_cat = treeview;
 
1514
                gtk_widget_set_vexpand (treeview, TRUE);
 
1515
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
 
1516
                gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
 
1517
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scrollwin, NULL);
 
1518
 
 
1519
                scrollwin = gtk_scrolled_window_new(NULL,NULL);
 
1520
                //data->SW_acc = scrollwin;
 
1521
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
1522
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
 
1523
                gtk_widget_set_margin_bottom (scrollwin, SPACING_LARGE);
 
1524
                treeview = ui_pay_listview_new(TRUE, FALSE);
 
1525
                data->LV_pay = treeview;
 
1526
                gtk_widget_set_vexpand (treeview, TRUE);
 
1527
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
 
1528
                gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
 
1529
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scrollwin, NULL);
 
1530
 
 
1531
                scrollwin = gtk_scrolled_window_new(NULL,NULL);
 
1532
                //data->SW_acc = scrollwin;
 
1533
                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
 
1534
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
 
1535
                gtk_widget_set_margin_bottom (scrollwin, SPACING_LARGE);
 
1536
                treeview = ui_tag_listview_new(TRUE);
 
1537
                data->LV_tag = treeview;
 
1538
                gtk_widget_set_vexpand (treeview, TRUE);
 
1539
                //gtk_widget_set_size_request(widget, HB_MINWIDTH_LIST, -1);
 
1540
                gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
 
1541
                gtk_notebook_append_page(GTK_NOTEBOOK(notebook), scrollwin, NULL);
1505
1542
 
1506
1543
        //part: info + report
1507
1544
        vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
1514
1551
 
1515
1552
        //infos
1516
1553
        hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_SMALL);
1517
 
        gtk_container_set_border_width (GTK_CONTAINER(hbox), SPACING_SMALL);
 
1554
        hb_widget_set_margin(GTK_WIDGET(hbox), SPACING_SMALL);
1518
1555
    gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
1519
1556
 
1520
1557
        widget = make_label(NULL, 0.5, 0.5);
1539
1576
        vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
1540
1577
        gtk_notebook_append_page(GTK_NOTEBOOK(notebook), vbox, NULL);
1541
1578
 
1542
 
                widget = gtk_scrolled_window_new (NULL, NULL);
1543
 
                //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (widget), GTK_CORNER_TOP_RIGHT);
1544
 
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN);
1545
 
                gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 
1579
                scrollwin = gtk_scrolled_window_new (NULL, NULL);
 
1580
                //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (scrollwin), GTK_CORNER_TOP_RIGHT);
 
1581
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
 
1582
                gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1546
1583
                treeview = lst_reptime_create();
1547
1584
                data->LV_report = treeview;
1548
 
                gtk_container_add (GTK_CONTAINER(widget), treeview);
1549
 
                gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
 
1585
                gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
 
1586
                gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0);
1550
1587
 
1551
1588
                //detail
1552
 
                widget = gtk_scrolled_window_new (NULL, NULL);
1553
 
                data->GR_detail = widget;
1554
 
                //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (widget), GTK_CORNER_TOP_RIGHT);
1555
 
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (widget), GTK_SHADOW_ETCHED_IN);
1556
 
                gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (widget), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
 
1589
                scrollwin = gtk_scrolled_window_new (NULL, NULL);
 
1590
                data->GR_detail = scrollwin;
 
1591
                //gtk_scrolled_window_set_placement(GTK_SCROLLED_WINDOW (scrollwin), GTK_CORNER_TOP_RIGHT);
 
1592
                gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
 
1593
                gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
1557
1594
                treeview = create_list_transaction(LIST_TXN_TYPE_DETAIL, PREFS->lst_det_columns);
1558
1595
                data->LV_detail = treeview;
1559
 
                gtk_container_add (GTK_CONTAINER(widget), treeview);
1560
 
                gtk_box_pack_start (GTK_BOX (vbox), widget, TRUE, TRUE, 0);
 
1596
                gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
 
1597
                gtk_box_pack_start (GTK_BOX (vbox), scrollwin, TRUE, TRUE, 0);
1561
1598
 
1562
1599
                list_txn_set_save_column_width(GTK_TREE_VIEW(treeview), TRUE);
1563
1600
 
1622
1659
        gdouble amount;
1623
1660
 
1624
1661
                gtk_tree_model_get (model, &iter,
1625
 
                        //LST_REPTIME_KEY, i,
1626
 
                        LST_REPTIME_TITLE  , &name,
1627
 
                        LST_REPTIME_AMOUNT , &amount,
 
1662
                        //LST_HUBREPTIME_KEY, i,
 
1663
                        LST_HUBREPTIME_TITLE  , &name,
 
1664
                        LST_HUBREPTIME_AMOUNT , &amount,
1628
1665
                        -1);
1629
1666
 
1630
1667
                format = (clipboard == TRUE) ? "%s\t%.2f\n" : "%s;%.2f\n";
1698
1735
gdouble val1, val2;
1699
1736
 
1700
1737
        gtk_tree_model_get(model, a,
1701
 
                LST_REPTIME_POS, &pos1,
 
1738
                LST_HUBREPTIME_POS, &pos1,
1702
1739
                sortcol, &val1,
1703
1740
                -1);
1704
1741
        gtk_tree_model_get(model, b,
1705
 
                LST_REPTIME_POS, &pos2,
 
1742
                LST_HUBREPTIME_POS, &pos2,
1706
1743
                sortcol, &val2,
1707
1744
                -1);
1708
1745
/*
1710
1747
        if(pos2 == -1) return(-1);
1711
1748
*/
1712
1749
 
1713
 
        if(sortcol == LST_REPTIME_POS)
 
1750
        if(sortcol == LST_HUBREPTIME_POS)
1714
1751
                retval = pos2 - pos1;
1715
1752
        else
1716
1753
                retval = (ABS(val1) - ABS(val2)) > 0 ? 1 : -1;
1717
1754
 
1718
 
        //DB( g_print(" sort %d=%d or %.2f=%.2f :: %d\n", pos1,pos2, val1, val2, ret) );
 
1755
        DB( g_print(" sort %d=%d or %.2f=%.2f :: %d\n", pos1,pos2, val1, val2, retval) );
1719
1756
 
1720
1757
    return retval;
1721
1758
}
1739
1776
 
1740
1777
        /* create list store */
1741
1778
        store = gtk_list_store_new(
1742
 
                NUM_LST_REPTIME,
 
1779
                NUM_LST_HUBREPTIME,
1743
1780
                G_TYPE_INT,
1744
1781
                G_TYPE_INT,
1745
1782
                G_TYPE_STRING,
1760
1797
        //g_object_set(renderer, "xalign", 1.0, NULL);
1761
1798
        gtk_tree_view_column_pack_start(column, renderer, TRUE);
1762
1799
        //gtk_tree_view_column_set_cell_data_func(column, renderer, ope_result_cell_data_function, NULL, NULL);
1763
 
        gtk_tree_view_column_add_attribute(column, renderer, "text", LST_REPTIME_TITLE);
1764
 
        //gtk_tree_view_column_set_sort_column_id (column, LST_REPTIME_NAME);
 
1800
        gtk_tree_view_column_add_attribute(column, renderer, "text", LST_HUBREPTIME_TITLE);
 
1801
        //gtk_tree_view_column_set_sort_column_id (column, LST_HUBREPTIME_NAME);
1765
1802
        gtk_tree_view_column_set_resizable(column, TRUE);
1766
1803
        
1767
1804
        //#2004631 date and column title alignement
1770
1807
        gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
1771
1808
 
1772
1809
        /* column: Amount */
1773
 
        column = lst_reptime_column_create_amount(_("Amount"), LST_REPTIME_AMOUNT);
 
1810
        column = lst_reptime_column_create_amount(_("Amount"), LST_HUBREPTIME_AMOUNT);
1774
1811
        gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
1775
1812
 
1776
1813
  /* column last: empty */
1778
1815
        gtk_tree_view_append_column (GTK_TREE_VIEW(view), column);
1779
1816
 
1780
1817
        /* sort */
1781
 
        gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPTIME_POS   , lst_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_POS), NULL);
1782
 
        gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_REPTIME_AMOUNT, lst_reptime_compare_func, GINT_TO_POINTER(LST_REPTIME_AMOUNT), NULL);
 
1818
        gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_HUBREPTIME_POS   , lst_reptime_compare_func, GINT_TO_POINTER(LST_HUBREPTIME_POS), NULL);
 
1819
        gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store), LST_HUBREPTIME_AMOUNT, lst_reptime_compare_func, GINT_TO_POINTER(LST_HUBREPTIME_AMOUNT), NULL);
1783
1820
 
1784
1821
        return(view);
1785
1822
}