32 #include "dialog-ab-daterange.h" 33 #include "dialog-utils.h" 34 #include "gnc-date-edit.h" 41 void ddr_toggled_cb(GtkToggleButton *button, gpointer user_data);
45 GtkWidget *enter_from_button;
46 GtkWidget *enter_to_button;
47 GtkWidget *from_dateedit;
48 GtkWidget *to_dateedit;
55 gboolean *last_retv_date,
56 gboolean *first_possible_date,
62 GtkWidget *heading_label;
63 GtkWidget *first_button;
64 GtkWidget *last_retrieval_button;
65 GtkWidget *now_button;
71 builder = gtk_builder_new();
72 gnc_builder_add_from_file (builder,
"dialog-ab.glade",
"aqbanking_date_range_dialog");
74 dialog = GTK_WIDGET(gtk_builder_get_object (builder,
"aqbanking_date_range_dialog"));
77 gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, &info );
80 gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent));
82 heading_label = GTK_WIDGET(gtk_builder_get_object (builder,
"date_heading_label"));
83 first_button = GTK_WIDGET(gtk_builder_get_object (builder,
"first_button"));
84 last_retrieval_button = GTK_WIDGET(gtk_builder_get_object (builder,
"last_retrieval_button"));
85 info.enter_from_button = GTK_WIDGET(gtk_builder_get_object (builder,
"enter_from_button"));
86 now_button = GTK_WIDGET(gtk_builder_get_object (builder,
"now_button"));
87 info.enter_to_button = GTK_WIDGET(gtk_builder_get_object (builder,
"enter_to_button"));
89 info.from_dateedit = gnc_date_edit_new (*from_date, FALSE, FALSE);
90 gtk_container_add(GTK_CONTAINER(gtk_builder_get_object (builder,
"enter_from_box")),
92 gtk_widget_show(info.from_dateedit);
94 info.to_dateedit = gnc_date_edit_new (*to_date, FALSE, FALSE);
95 gtk_container_add(GTK_CONTAINER(gtk_builder_get_object (builder,
"enter_to_box")),
97 gtk_widget_show(info.to_dateedit);
101 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(last_retrieval_button),
106 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(first_button), TRUE);
107 gtk_widget_set_sensitive(last_retrieval_button, FALSE);
110 gtk_widget_set_sensitive(info.from_dateedit, FALSE);
111 gtk_widget_set_sensitive(info.to_dateedit, FALSE);
113 gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
116 gtk_label_set_text(GTK_LABEL(heading_label), heading);
118 gtk_widget_show(dialog);
120 result = gtk_dialog_run(GTK_DIALOG(dialog));
121 gtk_widget_hide(dialog);
123 if (result == GTK_RESPONSE_OK)
125 *from_date = gnc_date_edit_get_date(GNC_DATE_EDIT(info.from_dateedit));
126 *last_retv_date = gtk_toggle_button_get_active(
127 GTK_TOGGLE_BUTTON(last_retrieval_button));
128 *first_possible_date = gtk_toggle_button_get_active(
129 GTK_TOGGLE_BUTTON(first_button));
130 *to_date = gnc_date_edit_get_date (GNC_DATE_EDIT(info.to_dateedit));
131 *to_now = gtk_toggle_button_get_active(
132 GTK_TOGGLE_BUTTON(now_button));
135 g_object_unref(G_OBJECT(builder));
137 gtk_widget_destroy(dialog);
140 return result == GTK_RESPONSE_OK;
144 ddr_toggled_cb(GtkToggleButton *button, gpointer user_data)
146 DaterangeInfo *info = user_data;
148 g_return_if_fail(info);
150 gtk_widget_set_sensitive(info->from_dateedit,
151 gtk_toggle_button_get_active(
152 GTK_TOGGLE_BUTTON(info->enter_from_button)));
153 gtk_widget_set_sensitive(info->to_dateedit,
154 gtk_toggle_button_get_active(
155 GTK_TOGGLE_BUTTON(info->enter_to_button)));
#define G_LOG_DOMAIN
Functions providing the SX List as a plugin page.
#define ENTER(format, args...)
Print a function entry debugging message.
gboolean gnc_ab_enter_daterange(GtkWidget *parent, const char *heading, time64 *from_date, gboolean *last_retv_date, gboolean *first_possible_date, time64 *to_date, gboolean *to_now)
Show a dialog to pick a time frame using a sensible set of default options.
#define LEAVE(format, args...)
Print a function exit debugging message.
gint64 time64
Most systems that are currently maintained, including Microsoft Windows, BSD-derived Unixes and Linux...