summaryrefslogtreecommitdiff
path: root/src/math-buttons.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/math-buttons.c')
-rw-r--r--src/math-buttons.c83
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)
{