gcalctool r2267 - in trunk: . gcalctool glade
- From: rancell svn gnome org
- To: svn-commits-list gnome org
- Subject: gcalctool r2267 - in trunk: . gcalctool glade
- Date: Mon, 13 Oct 2008 01:03:38 +0000 (UTC)
Author: rancell
Date: Mon Oct 13 01:03:37 2008
New Revision: 2267
URL: http://svn.gnome.org/viewvc/gcalctool?rev=2267&view=rev
Log:
Made financial dialogs move to next entry/complete form when activating entries (Robin Sonefors, Bug #318686)
Modified:
trunk/ChangeLog
trunk/gcalctool/gtk.c
trunk/glade/financial.glade
Modified: trunk/gcalctool/gtk.c
==============================================================================
--- trunk/gcalctool/gtk.c (original)
+++ trunk/gcalctool/gtk.c Mon Oct 13 01:03:37 2008
@@ -63,8 +63,10 @@
N_("Calculator [%s] - Scientific"), N_("Calculator [%s] - Programming")
};
+#define FINC_NUM_ARGS 4
+
/* The names of each field in the dialogs for the financial functions */
-static char *finc_dialog_fields[FINC_NUM_DIALOGS][4] = {
+static char *finc_dialog_fields[FINC_NUM_DIALOGS][FINC_NUM_ARGS] = {
{"ctrm_pint", "ctrm_fv", "ctrm_pv", NULL},
{"ddb_cost", "ddb_life", "ddb_period", NULL},
{"fv_pmt", "fv_pint", "fv_n", NULL},
@@ -1370,17 +1372,50 @@
static void
+finc_activate_cb(GtkWidget *widget, void *pointer) {
+ gint i, dialog;
+ GtkWidget *next_widget, *dialog_widget;
+ const char* widget_name = glade_get_widget_name(widget);
+ for (dialog = 0; dialog < FINC_NUM_DIALOGS; dialog++) {
+ for (i = 0; i < FINC_NUM_ARGS; i++) {
+ if (finc_dialog_fields[dialog][i] == NULL ||
+ g_ascii_strcasecmp(widget_name,
+ finc_dialog_fields[dialog][i])) {
+ continue;
+ }
+
+ if (i < FINC_NUM_ARGS - 1 &&
+ finc_dialog_fields[dialog][i+1] != NULL) {
+ next_widget = glade_xml_get_widget(X->financial,
+ finc_dialog_fields[dialog][i+1]);
+ gtk_widget_grab_focus(next_widget);
+ return;
+ }
+ else {
+ dialog_widget = gtk_widget_get_toplevel(widget);
+ if (GTK_WIDGET_TOPLEVEL (dialog_widget)) {
+ gtk_dialog_response(GTK_DIALOG(dialog_widget),
+ GTK_RESPONSE_OK);
+ return;
+ }
+ }
+ }
+ }
+}
+
+
+static void
finc_response_cb(GtkWidget *widget, gint response_id, void *dialog_pointer)
{
int dialog = GPOINTER_TO_INT (dialog_pointer);
int i;
- int arg[4][MP_SIZE];
+ int arg[FINC_NUM_ARGS][MP_SIZE];
GtkWidget *entry;
if (response_id != GTK_RESPONSE_OK) {
return;
}
- for (i = 0; i < 4; i++) {
+ for (i = 0; i < FINC_NUM_ARGS; i++) {
if (finc_dialog_fields[dialog][i] == NULL) {
continue;
}
@@ -1430,6 +1465,9 @@
G_CALLBACK(finc_response_cb),
GINT_TO_POINTER(FINC_TERM_DIALOG));
+ glade_xml_signal_connect(X->financial, "finc_activate_cb",
+ G_CALLBACK(finc_activate_cb));
+
button = GET_WIDGET("calc_finc_compounding_term_button");
g_object_set_data(G_OBJECT(button), "finc_dialog", "ctrm_dialog");
button = GET_WIDGET("calc_finc_double_declining_depreciation_button");
Modified: trunk/glade/financial.glade
==============================================================================
--- trunk/glade/financial.glade (original)
+++ trunk/glade/financial.glade Mon Oct 13 01:03:37 2008
@@ -90,6 +90,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -111,6 +112,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -132,6 +134,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -437,6 +440,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -458,6 +462,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -508,6 +513,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -727,6 +733,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -748,6 +755,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -769,6 +777,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -988,6 +997,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1009,6 +1019,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1030,6 +1041,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1249,6 +1261,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1270,6 +1283,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1291,6 +1305,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1510,6 +1525,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1531,6 +1547,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1552,6 +1569,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1743,6 +1761,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1764,6 +1783,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -1785,6 +1805,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2033,6 +2054,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2054,6 +2076,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2075,6 +2098,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2096,6 +2120,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2228,6 +2253,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2249,6 +2275,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
@@ -2270,6 +2297,7 @@
<property name="has_frame">True</property>
<property name="invisible_char">â</property>
<property name="activates_default">False</property>
+ <signal name="activate" handler="finc_activate_cb"/>
</widget>
<packing>
<property name="left_attach">1</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]