diff options
Diffstat (limited to 'src/math-buttons.c')
-rw-r--r-- | src/math-buttons.c | 83 |
1 files changed, 17 insertions, 66 deletions
diff --git a/src/math-buttons.c b/src/math-buttons.c index 64d929c..19195aa 100644 --- a/src/math-buttons.c +++ b/src/math-buttons.c @@ -69,9 +69,6 @@ G_DEFINE_TYPE_WITH_PRIVATE (MathButtons, math_buttons, GTK_TYPE_BOX); #define GET_WIDGET(ui, name) \ GTK_WIDGET(gtk_builder_get_object((ui), (name))) -#define WM_WIDTH_FACTOR 10 -#define WM_HEIGHT_FACTOR 30 - typedef enum { NUMBER, @@ -97,8 +94,12 @@ static ButtonData button_data[] = { {"eulers_number", "e", NUMBER, /* Tooltip for the Euler's Number button */ N_("Euler’s Number")}, - {"imaginary", "i", NUMBER, NULL}, - {"numeric_point", NULL, NUMBER, NULL}, + {"imaginary", "i", NUMBER, + /* Tooltip for the imaginary number button */ + N_("Imaginary unit")}, + {"numeric_point", NULL, NUMBER, + /* Tooltip for the numeric point button */ + N_("Decimal point")}, {"subscript", NULL, NUMBER_BOLD, /* Tooltip for the subscript button */ N_("Subscript mode [Alt]")}, @@ -222,9 +223,6 @@ static ButtonData button_data[] = { {"twos_complement", "twos ", FUNCTION, /* Tooltip for the two's complement button */ N_("Two's Complement")}, - {"trunc", "trunc ", FUNCTION, - /* Tooltip for the truncate button */ - N_("Truncate")}, {"start_group", "(", GROUP, /* Tooltip for the start group button */ N_("Start Group [(]")}, @@ -303,7 +301,6 @@ static char *finc_dialog_fields[][5] = { {NULL, NULL, NULL, NULL, NULL} }; - MathButtons * math_buttons_new(MathEquation *equation) { @@ -319,7 +316,6 @@ set_data(GtkBuilder *ui, const gchar *object_name, const gchar *name, const char g_object_set_data(object, name, GINT_TO_POINTER(value)); } - static void set_int_data(GtkBuilder *ui, const gchar *object_name, const gchar *name, gint value) { @@ -329,7 +325,6 @@ set_int_data(GtkBuilder *ui, const gchar *object_name, const gchar *name, gint v g_object_set_data(object, name, GINT_TO_POINTER(value)); } - static void load_finc_dialogs(MathButtons *buttons) { @@ -356,11 +351,10 @@ load_finc_dialogs(MathButtons *buttons) } } - static void update_bit_panel(MathButtons *buttons) { - MPNumber x = mp_new(); + MPNumber x; gboolean enabled; guint64 bits; int i; @@ -370,6 +364,7 @@ update_bit_panel(MathButtons *buttons) if (!buttons->priv->bit_panel) return; + x = mp_new(); enabled = math_equation_get_number(buttons->priv->equation, &x); if (enabled) { @@ -390,7 +385,10 @@ update_bit_panel(MathButtons *buttons) gtk_widget_set_sensitive(buttons->priv->base_label, enabled); if (!enabled) + { + mp_clear(&x); return; + } for (i = 0; i < MAXBITS; i++) { const gchar *bin_label; @@ -428,14 +426,12 @@ update_bit_panel(MathButtons *buttons) mp_clear(&x); } - static void display_changed_cb(MathEquation *equation, GParamSpec *spec, MathButtons *buttons) { update_bit_panel(buttons); } - static void base_combobox_changed_cb(GtkWidget *combo, MathButtons *buttons) { @@ -450,7 +446,6 @@ base_combobox_changed_cb(GtkWidget *combo, MathButtons *buttons) math_buttons_set_programming_base(buttons, value); } - static void base_changed_cb(MathEquation *equation, GParamSpec *spec, MathButtons *buttons) { @@ -479,7 +474,6 @@ base_changed_cb(MathEquation *equation, GParamSpec *spec, MathButtons *buttons) gtk_combo_box_set_active_iter(GTK_COMBO_BOX(buttons->priv->base_combo), &iter); } - static GtkWidget * load_mode(MathButtons *buttons, ButtonMode mode) { @@ -548,8 +542,6 @@ load_mode(MathButtons *buttons, ButtonMode mode) if (button_data[i].tooltip) gtk_widget_set_tooltip_text(button, _(button_data[i].tooltip)); - - atk_object_set_name(gtk_widget_get_accessible(button), button_data[i].widget_name); } /* Set special button data */ @@ -675,7 +667,6 @@ out: return *panel; } - static void converter_changed_cb(MathConverter *converter, MathButtons *buttons) { @@ -695,7 +686,6 @@ converter_changed_cb(MathConverter *converter, MathButtons *buttons) g_object_unref(to_unit); } - static void load_buttons(MathButtons *buttons) { @@ -724,7 +714,6 @@ load_buttons(MathButtons *buttons) gtk_widget_show(panel); } - void math_buttons_set_mode(MathButtons *buttons, ButtonMode mode) { @@ -759,14 +748,12 @@ math_buttons_set_mode(MathButtons *buttons, ButtonMode mode) g_object_notify(G_OBJECT(buttons), "mode"); } - ButtonMode math_buttons_get_mode(MathButtons *buttons) { return buttons->priv->mode; } - void math_buttons_set_programming_base(MathButtons *buttons, gint base) { @@ -783,7 +770,6 @@ math_buttons_set_programming_base(MathButtons *buttons, gint base) math_equation_set_base(buttons->priv->equation, base); } - gint math_buttons_get_programming_base(MathButtons *buttons) { @@ -791,7 +777,6 @@ math_buttons_get_programming_base(MathButtons *buttons) return buttons->priv->programming_base; } - void exponent_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -800,7 +785,6 @@ exponent_cb(GtkWidget *widget, MathButtons *buttons) math_equation_insert_exponent(buttons->priv->equation); } - void subtract_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -809,7 +793,6 @@ subtract_cb(GtkWidget *widget, MathButtons *buttons) math_equation_insert_subtract(buttons->priv->equation); } - void button_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -818,7 +801,6 @@ button_cb(GtkWidget *widget, MathButtons *buttons) math_equation_insert(buttons->priv->equation, g_object_get_data(G_OBJECT(widget), "calc_text")); } - void solve_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -827,7 +809,6 @@ solve_cb(GtkWidget *widget, MathButtons *buttons) math_equation_solve(buttons->priv->equation); } - void clear_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -836,7 +817,6 @@ clear_cb(GtkWidget *widget, MathButtons *buttons) math_equation_clear(buttons->priv->equation); } - void delete_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -845,7 +825,6 @@ delete_cb(GtkWidget *widget, MathButtons *buttons) math_equation_delete(buttons->priv->equation); } - void undo_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -854,7 +833,6 @@ undo_cb(GtkWidget *widget, MathButtons *buttons) math_equation_undo(buttons->priv->equation); } - static void shift_cb(GtkWidget *widget, MathButtons *buttons) { @@ -871,7 +849,6 @@ popup_button_menu(GtkWidget *widget, GtkMenu *menu) NULL); } - void memory_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -890,7 +867,6 @@ memory_cb(GtkWidget *widget, MathButtons *buttons) gtk_widget_show(GTK_WIDGET(popup)); } - void shift_left_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -905,17 +881,16 @@ shift_left_cb(GtkWidget *widget, MathButtons *buttons) for (i = 1; i < 16; i++) { GtkWidget *item, *label; - gchar *format, *text; + gchar *text; if (i < 10) { /* Left Shift Popup: Menu item to shift left by n places (n < 10) */ - format = ngettext("_%d place", "_%d places", i); + text = g_strdup_printf(ngettext("_%d place", "_%d places", i), i); } else { /* Left Shift Popup: Menu item to shift left by n places (n >= 10) */ - format = ngettext("%d place", "%d places", i); + text = g_strdup_printf(ngettext("%d place", "%d places", i), i); } - text = g_strdup_printf(format, i); label = gtk_label_new_with_mnemonic(text); item = gtk_menu_item_new(); @@ -933,7 +908,6 @@ shift_left_cb(GtkWidget *widget, MathButtons *buttons) popup_button_menu(widget, GTK_MENU(buttons->priv->shift_left_menu)); } - void shift_right_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -948,17 +922,16 @@ shift_right_cb(GtkWidget *widget, MathButtons *buttons) for (i = 1; i < 16; i++) { GtkWidget *item, *label; - gchar *format, *text; + gchar *text; if (i < 10) { /* Right Shift Popup: Menu item to shift right by n places (n < 10) */ - format = ngettext("_%d place", "_%d places", i); + text = g_strdup_printf(ngettext("_%d place", "_%d places", i), i); } else { /* Right Shift Popup: Menu item to shift right by n places (n >= 10) */ - format = ngettext("%d place", "%d places", i); + text = g_strdup_printf(ngettext("%d place", "%d places", i), i); } - text = g_strdup_printf(format, i); label = gtk_label_new_with_mnemonic(text); item = gtk_menu_item_new(); @@ -976,14 +949,12 @@ shift_right_cb(GtkWidget *widget, MathButtons *buttons) popup_button_menu(widget, GTK_MENU(buttons->priv->shift_right_menu)); } - static void insert_function_cb(GtkWidget *widget, MathButtons *buttons) { math_equation_insert(buttons->priv->equation, g_object_get_data(G_OBJECT(widget), "function")); } - void function_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1035,7 +1006,6 @@ insert_const_cb(GtkWidget *widget, MathButtons *buttons) math_equation_insert(buttons->priv->equation, g_object_get_data(G_OBJECT(widget), "const")); } - void const_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1096,7 +1066,6 @@ factorize_cb(GtkWidget *widget, MathButtons *buttons) math_equation_factorize(buttons->priv->equation); } - void digit_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1105,7 +1074,6 @@ digit_cb(GtkWidget *widget, MathButtons *buttons) math_equation_insert_digit(buttons->priv->equation, GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "calc_digit"))); } - void numeric_point_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1114,8 +1082,6 @@ numeric_point_cb(GtkWidget *widget, MathButtons *buttons) math_equation_insert_numeric_point(buttons->priv->equation); } - - void finc_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1128,7 +1094,6 @@ finc_cb(GtkWidget *widget, MathButtons *buttons) gtk_widget_hide(GTK_WIDGET(GET_WIDGET(buttons->priv->financial_ui, name))); } - void insert_character_code_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1137,7 +1102,6 @@ insert_character_code_cb(GtkWidget *widget, MathButtons *buttons) gtk_window_present(GTK_WINDOW(buttons->priv->character_code_dialog)); } - void finc_activate_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1164,7 +1128,6 @@ finc_activate_cb(GtkWidget *widget, MathButtons *buttons) } } - void finc_response_cb(GtkWidget *widget, gint response_id, MathButtons *buttons); G_MODULE_EXPORT void @@ -1198,7 +1161,6 @@ finc_response_cb(GtkWidget *widget, gint response_id, MathButtons *buttons) } } - void character_code_dialog_response_cb(GtkWidget *dialog, gint response_id, MathButtons *buttons); G_MODULE_EXPORT void @@ -1228,7 +1190,6 @@ character_code_dialog_response_cb(GtkWidget *dialog, gint response_id, MathButto gtk_widget_hide(dialog); } - void character_code_dialog_activate_cb(GtkWidget *entry, MathButtons *buttons); G_MODULE_EXPORT void @@ -1237,7 +1198,6 @@ character_code_dialog_activate_cb(GtkWidget *entry, MathButtons *buttons) character_code_dialog_response_cb(buttons->priv->character_code_dialog, GTK_RESPONSE_OK, buttons); } - gboolean character_code_dialog_delete_cb(GtkWidget *dialog, GdkEvent *event, MathButtons *buttons); G_MODULE_EXPORT gboolean @@ -1247,7 +1207,6 @@ character_code_dialog_delete_cb(GtkWidget *dialog, GdkEvent *event, MathButtons return TRUE; } - gboolean bit_toggle_cb(GtkWidget *event_box, GdkEventButton *event, MathButtons *buttons); G_MODULE_EXPORT gboolean @@ -1257,7 +1216,6 @@ bit_toggle_cb(GtkWidget *event_box, GdkEventButton *event, MathButtons *buttons) return TRUE; } - static void remove_trailing_spaces(MathButtons *buttons) { @@ -1273,7 +1231,6 @@ remove_trailing_spaces(MathButtons *buttons) } } - void set_superscript_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1289,7 +1246,6 @@ set_superscript_cb(GtkWidget *widget, MathButtons *buttons) math_equation_set_number_mode(buttons->priv->equation, NORMAL); } - void set_subscript_cb(GtkWidget *widget, MathButtons *buttons); G_MODULE_EXPORT void @@ -1305,7 +1261,6 @@ set_subscript_cb(GtkWidget *widget, MathButtons *buttons) math_equation_set_number_mode(buttons->priv->equation, NORMAL); } - static void number_mode_changed_cb(MathEquation *equation, GParamSpec *spec, MathButtons *buttons) { @@ -1324,7 +1279,6 @@ number_mode_changed_cb(MathEquation *equation, GParamSpec *spec, MathButtons *bu } } - static void math_buttons_set_property(GObject *object, guint prop_id, @@ -1358,7 +1312,6 @@ math_buttons_set_property(GObject *object, } } - static void math_buttons_get_property(GObject *object, guint prop_id, @@ -1385,7 +1338,6 @@ math_buttons_get_property(GObject *object, } } - static void math_buttons_class_init(MathButtonsClass *klass) { @@ -1428,7 +1380,6 @@ math_buttons_class_init(MathButtonsClass *klass) G_PARAM_READWRITE)); } - static void math_buttons_init(MathButtons *buttons) { |