/** * Show or hide closed accounts. * * \return FALSE */ gboolean gsb_gui_toggle_show_closed_accounts ( void ) { conf.show_closed_accounts = !conf.show_closed_accounts; gsb_gui_navigation_create_account_list ( gsb_gui_navigation_get_model ( ) ); gsb_gui_navigation_update_home_page ( ); gsb_file_set_modified ( TRUE ); return FALSE; }
/** * called when something change for a link * * \param tree_view the tree_view * * \return FALSE * */ gboolean gsb_currency_link_config_modify_link ( GtkWidget *tree_view ) { GtkWidget *combobox_1; GtkWidget *combobox_2; GtkWidget *exchange_entry; GtkTreeModel *model; GtkTreeIter iter; gint link_number; gchar *invalid; GtkWidget *label; gchar* tmpstr; gchar *strdate; gsb_real number; if ( !gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( tree_view ) ), &model, &iter ) ) return FALSE; gtk_tree_model_get ( GTK_TREE_MODEL (model), &iter, LINK_NUMBER_COLUMN, &link_number, -1 ); /* normally should not happen */ if (!link_number) return FALSE; combobox_1 = g_object_get_data ( G_OBJECT (model), "combobox_1" ); combobox_2 = g_object_get_data ( G_OBJECT (model), "combobox_2" ); exchange_entry = g_object_get_data ( G_OBJECT (model), "exchange_entry" ); number = utils_real_get_from_string ( gtk_entry_get_text ( GTK_ENTRY (exchange_entry) ) ); if ( number.exponent > 8 ) gtk_entry_set_max_length (GTK_ENTRY (exchange_entry), strlen( gtk_entry_get_text ( GTK_ENTRY ( exchange_entry ) ) - 1) ); gsb_data_currency_link_set_first_currency ( link_number, gsb_currency_get_currency_from_combobox (combobox_1)); gsb_data_currency_link_set_second_currency ( link_number, gsb_currency_get_currency_from_combobox (combobox_2)); gsb_data_currency_link_set_change_rate ( link_number, number ); gsb_data_currency_link_set_modified_date ( link_number, gdate_today ( ) ); strdate = gsb_format_gdate ( gsb_data_currency_link_get_modified_date ( link_number ) ); if ( gsb_data_currency_link_get_invalid_link (link_number)) invalid = GTK_STOCK_DIALOG_WARNING; else invalid = NULL; tmpstr = utils_real_get_string ( gsb_data_currency_link_get_change_rate ( link_number ) ); gtk_list_store_set ( GTK_LIST_STORE (model), &iter, LINK_CURRENCY1_COLUMN, gsb_data_currency_get_name (gsb_data_currency_link_get_first_currency(link_number)), LINK_EXCHANGE_COLUMN, tmpstr, LINK_CURRENCY2_COLUMN, gsb_data_currency_get_name (gsb_data_currency_link_get_second_currency(link_number)), LINK_DATE_COLUMN, strdate, LINK_INVALID_COLUMN, invalid, -1 ); g_free ( tmpstr ); g_free ( strdate ); /* set or hide the warning label */ label = g_object_get_data (G_OBJECT (model), "warning_label"); if ( gsb_data_currency_link_get_invalid_link (link_number)) { gtk_label_set_markup ( GTK_LABEL (label), gsb_data_currency_link_get_invalid_message (link_number)); gtk_widget_show (label); } else gtk_widget_hide (label); gsb_file_set_modified ( TRUE ); gsb_gui_navigation_update_home_page ( ); return FALSE; }