/* HomeBank -- Free, easy, personal accounting for everyone.
- * Copyright (C) 1995-2016 Maxime DOYEN
+ * Copyright (C) 1995-2019 Maxime DOYEN
*
* This file is part of HomeBank.
*
#include "homebank.h"
#include "ui-assist-start.h"
-#include "dsp_mainwindow.h"
+#include "dsp-mainwindow.h"
#include "ui-currency.h"
/* our global datas */
extern struct HomeBank *GLOBALS;
-extern gchar *CYA_ACC_TYPE[];
+extern HbKvData CYA_ACC_TYPE[];
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
Account *item;
gdouble value;
+ DB( g_print("\n[ui-start] apply\n") );
+
+
/* set owner */
gchar *owner = (gchar *)gtk_entry_get_text(GTK_ENTRY(data->ST_owner));
if (owner && *owner)
if (txt && *txt)
{
item->name = g_strdup(txt);
+ //#1837838 remove extra lead/tail space
+ g_strstrip(item->name);
}
item->kcur = GLOBALS->kcur;
-
- item->type = gtk_combo_box_get_active(GTK_COMBO_BOX(data->CY_type));
+ item->type = hbtk_combo_box_get_active_id(GTK_COMBO_BOX_TEXT(data->CY_type));
item->number = g_strdup(gtk_entry_get_text(GTK_ENTRY(data->ST_number)));
GLOBALS->changes_count++;
//our global list has changed, so update the treeview
+ //todo: #1693998 crappy to do this here
+ account_compute_balances ();
ui_mainwindow_update(GLOBALS->mainwindow, GINT_TO_POINTER(UF_TITLE+UF_SENSITIVE+UF_BALANCE+UF_REFRESHALL));
}
{
struct assist_start_data *data = user_data;
+ DB( g_print("\n[ui-start] close/cancel\n") );
+
+
//data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
gtk_widget_destroy (data->window);
gint current_page, n_pages;
gchar *title;
+ DB( g_print("\n[ui-start] prepare\n") );
+
+
current_page = gtk_assistant_get_current_page (GTK_ASSISTANT (widget));
n_pages = gtk_assistant_get_n_pages (GTK_ASSISTANT (widget));
}
+
static void
on_entry_changed (GtkWidget *widget, gpointer data)
{
- GtkAssistant *assistant = GTK_ASSISTANT (data);
- GtkWidget *current_page;
- gint page_number;
- const gchar *text;
-
- page_number = gtk_assistant_get_current_page (assistant);
- current_page = gtk_assistant_get_nth_page (assistant, page_number);
- text = gtk_entry_get_text (GTK_ENTRY (widget));
-
- if (text && *text)
- gtk_assistant_set_page_complete (assistant, current_page, TRUE);
- else
- gtk_assistant_set_page_complete (assistant, current_page, FALSE);
+GtkAssistant *assistant = GTK_ASSISTANT (data);
+GtkWidget *current_page;
+gint page_number;
+gchar *text;
+
+ page_number = gtk_assistant_get_current_page (assistant);
+ current_page = gtk_assistant_get_nth_page (assistant, page_number);
+ //#1837838: complete space or leadin/trialin space is possible
+ text = g_strdup(gtk_entry_get_text (GTK_ENTRY (widget)));
+ g_strstrip(text);
+
+ if (strlen(text) > 0)
+ gtk_assistant_set_page_complete (assistant, current_page, TRUE);
+ else
+ gtk_assistant_set_page_complete (assistant, current_page, FALSE);
+
+ g_free(text);
}
static void ui_start_assistant_property_change_action(GtkWidget *widget, gpointer user_data)
{
struct assist_start_data *data;
-Currency4217 *curfmt;
+struct curSelectContext selectCtx;
DB( g_print("\n[ui-start] property_change_action\n") );
data = g_object_get_data(G_OBJECT(gtk_widget_get_ancestor(widget, GTK_TYPE_WINDOW)), "inst_data");
data->curfmt = NULL;
-
- curfmt = ui_cur_select_dialog_new(GTK_WINDOW(data->window), CUR_SELECT_MODE_BASE);
- if( curfmt != NULL )
+ ui_cur_select_dialog_new(GTK_WINDOW(data->window), CUR_SELECT_MODE_BASE, &selectCtx);
+ if( selectCtx.cur_4217 != NULL )
{
+ Currency4217 *curfmt;
gchar label[128];
gchar *name;
+ curfmt = selectCtx.cur_4217;
+
DB( g_printf("- user selected: '%s' '%s'\n", curfmt->curr_iso_code, curfmt->name) );
data->curfmt = curfmt;
Currency *cur;
gchar label[128];
+ DB( g_print("\n[ui-start] property_fill\n") );
+
+
gtk_entry_set_text(GTK_ENTRY(data->ST_owner), g_get_real_name ());
cur = da_cur_get (GLOBALS->kcur);
gtk_box_pack_start (GTK_BOX (box), table, TRUE, TRUE, 0);
row = 0;
- label = make_label_group(_("Informations"));
+ label = make_label_group(_("Information"));
gtk_grid_attach (GTK_GRID (table), label, 0, row, 3, 1);
row++;
row++;
label = make_label_widget(_("_Type:"));
gtk_grid_attach (GTK_GRID (table), label, 1, row, 1, 1);
- widget = make_cycle(label, CYA_ACC_TYPE);
+ //widget = make_cycle(label, CYA_ACC_TYPE);
+ widget = hbtk_combo_box_new_with_data(label, CYA_ACC_TYPE);
data->CY_type = widget;
gtk_widget_set_hexpand(widget, TRUE);
gtk_grid_attach (GTK_GRID (table), widget, 2, row, 1, 1);
struct assist_start_data *data;
GtkWidget *assistant, *page;
+ DB( g_print("\n[ui-start] new\n") );
+
+
data = g_malloc0(sizeof(struct assist_start_data));
if(!data) return NULL;