~mdoyen/homebank/5.7.x

« back to all changes in this revision

Viewing changes to src/ui-currency.c

  • Committer: Maxime Doyen
  • Date: 2023-09-06 19:22:10 UTC
  • Revision ID: homebank@free.fr-20230906192210-kal1pe00sty1jt2g
5.7 release

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
#define DB(x);
31
31
#endif
32
32
 
 
33
 
33
34
/* our global datas */
34
35
extern struct HomeBank *GLOBALS;
35
36
extern struct Preferences *PREFS;
40
41
 
41
42
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
42
43
 
 
44
 
43
45
/**
44
46
 * ui_cur_combobox_get_name:
45
47
 *
799
801
        content_grid = gtk_grid_new();
800
802
        gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE);
801
803
        gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL);
802
 
        gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM);
 
804
        hb_widget_set_margin(GTK_WIDGET(content_grid), SPACING_MEDIUM);
803
805
        gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0);
804
806
 
805
807
        crow = 0;
857
859
    group_grid = gtk_grid_new ();
858
860
        gtk_grid_set_row_spacing (GTK_GRID (group_grid), SPACING_SMALL);
859
861
        gtk_grid_set_column_spacing (GTK_GRID (group_grid), SPACING_MEDIUM);
860
 
        gtk_container_add (GTK_CONTAINER (expander), group_grid);
 
862
        gtk_expander_set_child (GTK_EXPANDER(expander), group_grid);
861
863
 
862
864
        row = 1;
863
865
        label = make_label_widget(_("_Symbol:"));
914
916
        }
915
917
 
916
918
        // cleanup and destroy
917
 
        gtk_widget_destroy (dialog);
 
919
        gtk_window_destroy (GTK_WINDOW(dialog));
918
920
 
919
921
        g_free(data);
920
922
}
1169
1171
        content_grid = gtk_grid_new();
1170
1172
        gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE);
1171
1173
        gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL);
1172
 
        gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_MEDIUM);
 
1174
        hb_widget_set_margin(GTK_WIDGET(content_grid), SPACING_MEDIUM);
1173
1175
        gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0);
1174
1176
 
1175
1177
        crow = 0;
1208
1210
        //g_object_unref (model);
1209
1211
        gtk_tree_view_set_grid_lines (GTK_TREE_VIEW (treeview), PREFS->grid_lines);
1210
1212
 
1211
 
        gtk_container_add(GTK_CONTAINER(scrollwin), treeview);
 
1213
        gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
1212
1214
        
1213
1215
        // populate list
1214
1216
  GtkCellRenderer *renderer;
1292
1294
        }
1293
1295
 
1294
1296
        // cleanup and destroy
1295
 
        gtk_widget_destroy (dialog);
 
1297
        gtk_window_destroy (GTK_WINDOW(dialog));
1296
1298
 
1297
1299
        g_free(data);
1298
1300
        
1316
1318
                DB( g_print(" abort: no currency\n") );
1317
1319
                return TRUE;
1318
1320
        }
 
1321
 
1319
1322
        //TODO: add a force option ?
1320
1323
        // add 5.6.2 as the online currency only update every 24h
1321
1324
        // avoid to call the API too often
1322
1325
        // this set into hbfile_file_get_time_modified()
1323
 
        if( GLOBALS->xhb_obsoletecurr == FALSE )
 
1326
        // removed in 5.7
 
1327
        /*if( GLOBALS->xhb_obsoletecurr == FALSE )
1324
1328
        {
1325
1329
                DB( g_print(" abort: file saved less than 24h\n") );
 
1330
 
 
1331
                //TODO maybe
 
1332
                ui_dialog_msg_infoerror(GTK_WINDOW(parent), GTK_MESSAGE_ERROR,
 
1333
                        _("Update online error"),
 
1334
                        _("Already been updated in last 24h"),
 
1335
                        NULL
 
1336
                        );
 
1337
                
1326
1338
                return TRUE;
1327
 
        }
 
1339
        }*/
1328
1340
 
1329
1341
        retcode = currency_online_sync(&error);
1330
1342
        
1689
1701
struct ui_cur_manage_dialog_data *data;
1690
1702
GtkWidget *dialog, *content_area, *content_grid, *group_grid, *vbox, *bbox, *tbar;
1691
1703
GtkWidget *widget, *scrollwin, *treeview;
1692
 
GtkToolItem *toolitem;
1693
1704
gint crow, row, w, h, dw, dh;
1694
1705
 
1695
1706
        data = g_malloc0(sizeof(struct ui_cur_manage_dialog_data));
1724
1735
        content_grid = gtk_grid_new();
1725
1736
        gtk_grid_set_row_spacing (GTK_GRID (content_grid), SPACING_LARGE);
1726
1737
        gtk_orientable_set_orientation(GTK_ORIENTABLE(content_grid), GTK_ORIENTATION_VERTICAL);
1727
 
        gtk_container_set_border_width (GTK_CONTAINER(content_grid), SPACING_LARGE);
 
1738
        hb_widget_set_margin(GTK_WIDGET(content_grid), SPACING_LARGE);
1728
1739
        gtk_box_pack_start (GTK_BOX (content_area), content_grid, TRUE, TRUE, 0);
1729
1740
 
1730
1741
        crow = 0;
1740
1751
        gtk_grid_attach (GTK_GRID(group_grid), bbox, 0, row, 1, 1);
1741
1752
 
1742
1753
        widget = gtk_button_new_from_icon_name (ICONNAME_HB_REFRESH, GTK_ICON_SIZE_BUTTON);
1743
 
        gtk_container_add (GTK_CONTAINER (bbox), widget);
 
1754
        gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, TRUE, 0);
1744
1755
        
1745
1756
        g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (ui_cur_manage_dialog_sync), NULL);
1746
1757
 
1747
1758
        widget = make_label_widget (_("Update online"));
1748
 
        gtk_container_add (GTK_CONTAINER (bbox), widget);
 
1759
        gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, TRUE, 0);
1749
1760
 
1750
1761
        // list
1751
1762
        row++;
1753
1764
        gtk_grid_attach (GTK_GRID (group_grid), vbox, 0, row, 2, 1);
1754
1765
        
1755
1766
        scrollwin = gtk_scrolled_window_new(NULL,NULL);
1756
 
        gtk_container_add(GTK_CONTAINER(vbox), scrollwin);
 
1767
        gtk_box_pack_start(GTK_BOX(vbox), scrollwin, TRUE, TRUE, 0);
1757
1768
        gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin), GTK_SHADOW_ETCHED_IN);
1758
1769
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
1759
1770
        gtk_scrolled_window_set_min_content_height(GTK_SCROLLED_WINDOW(scrollwin), HB_MINHEIGHT_LIST);
1760
1771
        treeview = ui_cur_listview_new(FALSE);
1761
1772
        data->LV_cur = treeview;
1762
 
        gtk_container_add(GTK_CONTAINER(scrollwin), treeview);
 
1773
        gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW(scrollwin), treeview);
1763
1774
        gtk_widget_set_vexpand (scrollwin, TRUE);
1764
1775
        gtk_widget_set_hexpand (scrollwin, TRUE);
1765
1776
 
1766
 
        tbar = gtk_toolbar_new();
1767
 
        gtk_toolbar_set_icon_size (GTK_TOOLBAR(tbar), GTK_ICON_SIZE_MENU);
1768
 
        gtk_toolbar_set_style(GTK_TOOLBAR(tbar), GTK_TOOLBAR_ICONS);
 
1777
        tbar = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, SPACING_MEDIUM);
1769
1778
        gtk_style_context_add_class (gtk_widget_get_style_context (tbar), GTK_STYLE_CLASS_INLINE_TOOLBAR);
1770
1779
        gtk_box_pack_start (GTK_BOX (vbox), tbar, FALSE, FALSE, 0);
1771
1780
 
1772
1781
        bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
1773
 
        toolitem = gtk_tool_item_new();
1774
 
        gtk_container_add (GTK_CONTAINER(toolitem), bbox);
1775
 
        gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1);
 
1782
        gtk_box_pack_start (GTK_BOX (tbar), bbox, FALSE, FALSE, 0);
1776
1783
 
1777
1784
                widget = make_image_button(ICONNAME_LIST_ADD, _("Add"));
1778
1785
                data->BT_add = widget;
1779
 
                gtk_container_add (GTK_CONTAINER (bbox), widget);
 
1786
                gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0);
1780
1787
 
1781
1788
                widget = make_image_button(ICONNAME_LIST_DELETE, _("Delete"));
1782
1789
                data->BT_del = widget;
1783
 
                gtk_container_add (GTK_CONTAINER (bbox), widget);
1784
 
 
1785
 
        toolitem = gtk_separator_tool_item_new ();
1786
 
        //gtk_tool_item_set_expand (toolitem, TRUE);
1787
 
        gtk_separator_tool_item_set_draw(GTK_SEPARATOR_TOOL_ITEM(toolitem), FALSE);
1788
 
        gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1);
 
1790
                gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0);
1789
1791
 
1790
1792
        bbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
1791
 
        toolitem = gtk_tool_item_new();
1792
 
        gtk_container_add (GTK_CONTAINER(toolitem), bbox);
1793
 
        gtk_toolbar_insert(GTK_TOOLBAR(tbar), GTK_TOOL_ITEM(toolitem), -1);
 
1793
        gtk_box_pack_start (GTK_BOX (tbar), bbox, FALSE, FALSE, 0);
1794
1794
 
1795
1795
                widget = make_image_button(ICONNAME_LIST_EDIT, _("Edit"));
1796
1796
                data->BT_edit = widget;
1797
 
                gtk_container_add (GTK_CONTAINER (bbox), widget);
 
1797
                gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0);
1798
1798
 
1799
1799
                widget = gtk_button_new_with_mnemonic(_("Set as base"));
1800
1800
                data->BT_base = widget;
1801
 
                gtk_container_add (GTK_CONTAINER (bbox), widget);
1802
 
 
 
1801
                gtk_box_pack_start(GTK_BOX(bbox), widget, FALSE, FALSE, 0);
1803
1802
 
1804
1803
        // connect dialog signals
1805
1804
        g_signal_connect (dialog, "destroy", G_CALLBACK (gtk_widget_destroyed), &dialog);
1814
1813
 
1815
1814
        // cleanup and destroy
1816
1815
        GLOBALS->changes_count += data->change;
1817
 
        gtk_widget_destroy (dialog);
 
1816
        gtk_window_destroy (GTK_WINDOW(dialog));
1818
1817
 
1819
1818
        g_free(data);
1820
1819