Changeset 59
- Timestamp:
- 10/08/2007 03:20:10 PM (15 months ago)
- Location:
- trunk
- Files:
-
- 3 modified
-
autom4te.cache/requests (modified) (8 diffs)
-
src/Makefile.in (modified) (1 diff)
-
src/widgets.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/autom4te.cache/requests
r56 r59 56 56 'AM_PROG_INSTALL_STRIP' => 1, 57 57 '_m4_warn' => 1, 58 'LF_CHECK_CC_FLAG' => 1, 58 59 'AM_SANITY_CHECK' => 1, 59 'LF_CHECK_CC_FLAG' => 1,60 60 'LF_SET_WARNINGS' => 1, 61 61 'include' => 1, … … 70 70 '_AM_SUBST_NOTMAKE' => 1, 71 71 'LF_CHECK_CXX_FLAG' => 1, 72 ' AM_PROG_CC_C_O' => 1,72 'm4_pattern_allow' => 1, 73 73 '_AM_AUTOCONF_VERSION' => 1, 74 ' m4_pattern_allow' => 1,74 'AM_PROG_CC_C_O' => 1, 75 75 '_AM_MANGLE_OPTION' => 1, 76 'AM_CONDITIONAL' => 1,77 76 'AM_SET_LEADING_DOT' => 1, 77 'AM_CONDITIONAL' => 1, 78 78 'AM_SET_DEPDIR' => 1, 79 79 '_AM_DEPENDENCIES' => 1, 80 'm4_include' => 1, 81 'LF_CHECK_F77_FLAG' => 1, 80 82 'AM_PROG_INSTALL_SH' => 1, 81 'LF_CHECK_F77_FLAG' => 1,82 'm4_include' => 1,83 83 '_AC_AM_CONFIG_HEADER_HOOK' => 1, 84 84 'AU_DEFUN' => 1, … … 98 98 ], 99 99 { 100 'AM_PROG_F77_C_O' => 1, 100 101 '_LT_AC_TAGCONFIG' => 1, 101 ' AM_PROG_F77_C_O' => 1,102 'm4_pattern_forbid' => 1, 102 103 'AC_INIT' => 1, 103 'm4_pattern_forbid' => 1,104 104 'AC_CANONICAL_TARGET' => 1, 105 'AC_CONFIG_LIBOBJ_DIR' => 1, 105 106 'AC_SUBST' => 1, 106 'AC_C ONFIG_LIBOBJ_DIR' => 1,107 'AC_CANONICAL_HOST' => 1, 107 108 'AC_FC_SRCEXT' => 1, 108 'AC_CANONICAL_HOST' => 1,109 109 'AC_PROG_LIBTOOL' => 1, 110 110 'AM_INIT_AUTOMAKE' => 1, … … 114 114 'AC_REQUIRE_AUX_FILE' => 1, 115 115 'AC_CONFIG_LINKS' => 1, 116 'LT_SUPPORTED_TAG' => 1, 116 117 'm4_sinclude' => 1, 117 'LT_SUPPORTED_TAG' => 1,118 118 'AM_MAINTAINER_MODE' => 1, 119 119 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, … … 132 132 '_AM_SUBST_NOTMAKE' => 1, 133 133 'AC_CONFIG_AUX_DIR' => 1, 134 'AM_PROG_CC_C_O' => 1, 135 'm4_pattern_allow' => 1, 134 136 'sinclude' => 1, 135 'm4_pattern_allow' => 1, 136 'AM_PROG_CC_C_O' => 1, 137 'AM_CONDITIONAL' => 1, 137 138 'AC_CANONICAL_SYSTEM' => 1, 138 'AM_CONDITIONAL' => 1,139 139 'AC_CONFIG_HEADERS' => 1, 140 140 'AC_DEFINE_TRACE_LITERAL' => 1, … … 209 209 'AM_PROG_CC_C_O' => 1, 210 210 '_AM_MANGLE_OPTION' => 1, 211 'AM_CONDITIONAL' => 1,212 211 'AM_SET_LEADING_DOT' => 1, 212 'AM_CONDITIONAL' => 1, 213 213 'AM_SET_DEPDIR' => 1, 214 214 '_AM_DEPENDENCIES' => 1, 215 'm4_include' => 1, 216 'LF_CHECK_F77_FLAG' => 1, 215 217 'AM_PROG_INSTALL_SH' => 1, 216 'LF_CHECK_F77_FLAG' => 1,217 'm4_include' => 1,218 218 '_AC_AM_CONFIG_HEADER_HOOK' => 1, 219 219 'AU_DEFUN' => 1, … … 285 285 'AM_SET_DEPDIR' => 1, 286 286 '_AM_DEPENDENCIES' => 1, 287 'm4_include' => 1,288 287 'AM_PROG_INSTALL_SH' => 1, 288 'm4_include' => 1, 289 289 '_AC_AM_CONFIG_HEADER_HOOK' => 1, 290 290 'AU_DEFUN' => 1, … … 354 354 'AM_SET_DEPDIR' => 1, 355 355 '_AM_DEPENDENCIES' => 1, 356 'm4_include' => 1, 356 357 'AM_PROG_INSTALL_SH' => 1, 357 'm4_include' => 1,358 358 '_AC_AM_CONFIG_HEADER_HOOK' => 1, 359 359 'AU_DEFUN' => 1, -
trunk/src/Makefile.in
r56 r59 163 163 #db_test_SOURCES = db_test.c transaction.c database.c 164 164 mokash_SOURCES = main.c \ 165 bool.h \ 165 166 widgets.c \ 167 widgets.h \ 166 168 account_dialog.c \ 169 account_dialog.h \ 167 170 database.c \ 171 database.h \ 168 172 transaction.c \ 169 transaction_dialog.c 173 transaction.h \ 174 transaction_dialog.c \ 175 transaction_dialog.h 170 176 171 177 mokash_CFLAGS = @GTK_CFLAGS@ -
trunk/src/widgets.c
r52 r59 372 372 if ( strcmp( "Amt", gtk_tree_view_column_get_title(col) ) == 0 ) 373 373 data = fabs(data); 374 char *frac_digits = nl_langinfo(FRAC_DIGITS); 374 char *tmp = nl_langinfo(FRAC_DIGITS); 375 char *frac_digits = (char*)malloc(sizeof(char) * (strlen(tmp) + 1)); 376 strcpy( frac_digits, tmp ); 375 377 if ( frac_digits[0] == CHAR_MAX ) 376 frac_digits[0] = 0;378 frac_digits[0] = 2; 377 379 gchar frmt[20]; 378 380 g_snprintf( frmt, sizeof(frmt), "%%.%dlf", frac_digits[0] ); … … 437 439 void button_press_cb(GtkWidget *widget, GdkEventButton *event, gpointer data) 438 440 { 439 if ( event->type != GDK_BUTTON_PRESS || event->button != 1 ) 441 if ( ( event->type != GDK_BUTTON_PRESS && 442 event->type != GDK_BUTTON_RELEASE ) || event->button != 1 ) 440 443 return; 441 444 … … 447 450 return; 448 451 452 static GtkTreePath *down_path; 453 454 if ( event->type == GDK_BUTTON_PRESS ) 455 { 456 down_path = path; 457 return; 458 } 459 460 if ( down_path == NULL ) 461 return; 462 463 gchar *down_str, *up_str; 464 down_str = gtk_tree_path_to_string(down_path); 465 up_str = gtk_tree_path_to_string(path); 466 if ( g_utf8_collate( down_str, up_str ) != 0 ) 467 { 468 g_free(down_str); 469 g_free(up_str); 470 gtk_tree_path_free(path); 471 gtk_tree_path_free(down_path); 472 return; 473 } 474 449 475 if ( strcmp( gtk_tree_view_column_get_title(column), "" ) == 0 ) 450 476 { 451 477 // handle the checkbox click 452 toggle_checkbox( gtk_tree_path_to_string(path), 453 GTK_LIST_STORE(gtk_tree_model_filter_get_model( 478 toggle_checkbox( up_str, GTK_LIST_STORE(gtk_tree_model_filter_get_model( 454 479 GTK_TREE_MODEL_FILTER(gtk_tree_view_get_model( 455 480 GTK_TREE_VIEW(tree))))) ); … … 474 499 } 475 500 } 501 g_free(down_str); 502 g_free(up_str); 503 gtk_tree_path_free(path); 504 gtk_tree_path_free(down_path); 476 505 } 477 506 … … 552 581 g_signal_connect( G_OBJECT(tree), "button-press-event", 553 582 G_CALLBACK(button_press_cb), NULL ); 583 g_signal_connect( G_OBJECT(tree), "button-release-event", 584 G_CALLBACK(button_press_cb), NULL ); 554 585 555 586 GtkCellRenderer *renderer; … … 675 706 { 676 707 int i, j, radix_loc; 677 char *radix_str = nl_langinfo(RADIXCHAR); 678 char *frac_digits = nl_langinfo(FRAC_DIGITS); 708 char *tmp = nl_langinfo(RADIXCHAR); 709 char *radix_str = (char*)malloc(sizeof(char) * (strlen(tmp) + 1)); 710 strcpy( radix_str, tmp ); 711 tmp = nl_langinfo(FRAC_DIGITS); 712 char *frac_digits = (char*)malloc(sizeof(char) * (strlen(tmp) + 1)); 713 strcpy( frac_digits, tmp ); 679 714 char radix = ( radix_str != NULL ? radix_str[0] : '.' ); 680 715 if ( frac_digits[0] == CHAR_MAX ) 681 frac_digits[0] = 0;716 frac_digits[0] = 2; 682 717 gchar *result = g_new( gchar, new_text_length + 1 ); 683 718 gchar *cur_text = gtk_editable_get_chars( editable, 0, -1 ); … … 730 765 gtk_signal_emit_stop_by_name( GTK_OBJECT(editable), "insert-text" ); 731 766 767 free(radix_str); 768 free(frac_digits); 732 769 g_free(cur_text); 733 770 g_free(result); … … 1090 1127 void update_balance(GtkLabel *label, double balance, const char *prefix) 1091 1128 { 1092 char *cur_symbols = nl_langinfo(CRNCYSTR); 1093 char *frac_digits = nl_langinfo(FRAC_DIGITS); 1129 char *tmp = nl_langinfo(CRNCYSTR); 1130 char *cur_symbols = (char*)malloc(sizeof(char) * (strlen(tmp) + 1)); 1131 strcpy( cur_symbols, tmp ); 1132 tmp = nl_langinfo(FRAC_DIGITS); 1133 char *frac_digits = (char*)malloc(sizeof(char) * (strlen(tmp) + 1)); 1134 strcpy( frac_digits, tmp ); 1135 1094 1136 if ( frac_digits[0] == CHAR_MAX ) 1095 return; 1096 if ( cur_symbols == NULL || strlen(cur_symbols) < 2 ) 1097 return; 1137 frac_digits[0] = 2; 1138 if ( cur_symbols == NULL ) 1139 { 1140 cur_symbols = (char*)malloc(sizeof(char) * 3); 1141 strcpy( cur_symbols, "-$" ); 1142 } 1143 if ( strlen(cur_symbols) < 2 ) 1144 { 1145 free(cur_symbols); 1146 cur_symbols = (char*)malloc(sizeof(char) * 3); 1147 strcpy( cur_symbols, "-$" ); 1148 } 1098 1149 1099 1150 int i = strlen(prefix);
