[gnome-calculator/wip/tbernard/336-icon-update: 1/3] adaptive
- From: Tobias Bernard <tbernard src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calculator/wip/tbernard/336-icon-update: 1/3] adaptive
- Date: Mon, 27 Jan 2020 15:40:01 +0000 (UTC)
commit af68868ba9fefb1afb78c010b9cf6acbc221c54d
Author: Adrien Plazas <kekun plazas laposte net>
Date: Wed Oct 16 21:22:39 2019 +0200
adaptive
meson.build | 24 +
org.gnome.Calculator.json | 14 +
src/buttons-advanced.ui | 1717 +++++++++++++++++++-------------------
src/buttons-programming.ui | 1969 +++++++++++++++++++++++---------------------
src/calculator.css | 58 +-
src/gnome-calculator.vala | 4 +-
src/math-buttons.vala | 1 -
src/math-converter.ui | 146 ++--
src/math-converter.vala | 12 +-
src/math-display.vala | 4 +
src/math-window.ui | 16 +-
src/meson.build | 2 +
12 files changed, 2117 insertions(+), 1850 deletions(-)
---
diff --git a/meson.build b/meson.build
index d2d88cb0..cfdf8cb3 100644
--- a/meson.build
+++ b/meson.build
@@ -27,6 +27,30 @@ libxml = dependency('libxml-2.0')
libsoup = dependency('libsoup-2.4', version: '>= 2.42')
gee = dependency('gee-0.8', version: '>= 0.20.0')
+libhandy = dependency('libhandy-0.0', version: '>= 0.0.9', required: false)
+if not libhandy.found()
+ libhandy_subproj = subproject(
+ 'libhandy',
+ default_options: [
+ 'examples=false',
+ 'glade_catalog=disabled',
+ 'tests=false',
+ ]
+ )
+
+ # When using libhandy as subproject, make sure we get the VAPI file
+ libhandy = declare_dependency(
+ dependencies: [
+ libhandy_subproj.get_variable('libhandy_dep'),
+ libhandy_subproj.get_variable('libhandy_vapi'),
+ ]
+ )
+
+ libhandy_vapidir = join_paths(meson.build_root(), 'subprojects', 'libhandy', 'src')
+else
+ libhandy_vapidir = ''
+endif
+
# Libraries
cc = meson.get_compiler('c')
valac = meson.get_compiler('vala')
diff --git a/org.gnome.Calculator.json b/org.gnome.Calculator.json
index 7c3e7084..914a5c27 100644
--- a/org.gnome.Calculator.json
+++ b/org.gnome.Calculator.json
@@ -83,6 +83,20 @@
}
]
},
+ {
+ "name": "libhandy",
+ "buildsystem": "meson",
+ "builddir": true,
+ "config-opts": [
+ "-Dglade_catalog=disabled"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://source.puri.sm/Librem5/libhandy.git"
+ }
+ ]
+ },
{
"name" : "gnome-calculator",
"buildsystem" : "meson",
diff --git a/src/buttons-advanced.ui b/src/buttons-advanced.ui
index 03a490dd..a36d644b 100644
--- a/src/buttons-advanced.ui
+++ b/src/buttons-advanced.ui
@@ -2,988 +2,1051 @@
<interface>
<!-- interface-naming-policy toplevel-contextual -->
<requires lib="gtk+" version="3.16"/>
- <object class="GtkGrid" id="button_panel">
+ <object class="HdyLeaflet" id="button_panel">
<property name="visible">True</property>
- <property name="row-homogeneous">True</property>
- <property name="column-homogeneous">True</property>
- <property name="row_spacing">4</property>
- <property name="column_spacing">4</property>
+ <property name="child_transition_type">slide</property>
+ <property name="mode_transition_type">slide</property>
+ <property name="halign">center</property>
+ <property name="visible-child-name">basic</property>
+ <style>
+ <class name="math-buttons"/>
+ </style>
<child>
- <object class="GtkButton" id="calc_inverse_button">
+ <object class="GtkGrid" id="basic">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Inverse [Ctrl+I]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'⁻¹'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_inverse_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
inverse button">Inverse</property>
+ <property name="halign">center</property>
+ <property name="row-homogeneous">True</property>
+ <property name="column-homogeneous">True</property>
+ <property name="row_spacing">4</property>
+ <property name="column_spacing">4</property>
+ <child>
+ <object class="GtkButton" id="calc_4_button">
+ <property name="label">4</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">4</property>
+ <style>
+ <class name="number-button"/>
+ </style>
</object>
+ <packing>
+ <property name="top_attach">2</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label20">
+ <object class="GtkButton" id="calc_7_button">
+ <property name="label">7</property>
<property name="visible">True</property>
- <property name="label"><i>x</i><sup>−1</sup></property>
- <property name="use_markup">True</property>
- <property name="justify">center</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">7</property>
+ <style>
+ <class name="number-button"/>
+ </style>
</object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="left_attach">0</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_factor_button">
- <property name="label">a×b</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Factorize [Ctrl+F]</property>
- <property name="action_name">cal.factorize</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_factor_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
factorize button">Factorize</property>
+ <child>
+ <object class="GtkButton" id="calc_8_button">
+ <property name="label">8</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">8</property>
+ <style>
+ <class name="number-button"/>
+ </style>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_factorial_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Factorial [!]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'!'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_factorial_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
factorial button">Factorial</property>
+ <child>
+ <object class="GtkButton" id="calc_9_button">
+ <property name="label">9</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">9</property>
+ <style>
+ <class name="number-button"/>
+ </style>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label14">
+ <object class="GtkButton" id="calc_5_button">
+ <property name="label">5</property>
<property name="visible">True</property>
- <property name="label"><i>x</i>!</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">5</property>
+ <style>
+ <class name="number-button"/>
+ </style>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_imaginary_portion_button">
- <property name="label">Im</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Imaginary Component</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'Im '</property>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_imaginary_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'i'</property>
<child>
- <object class="GtkLabel" id="imaginary_label">
+ <object class="GtkButton" id="calc_6_button">
+ <property name="label">6</property>
<property name="visible">True</property>
- <property name="label"><i>i</i></property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">6</property>
+ <style>
+ <class name="number-button"/>
+ </style>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_modulus_divide_button">
+ <property name="label">mod</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Modulus divide</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">' mod '</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_divide_button">
+ <property name="label">÷</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Divide [/]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'÷'</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_1_button">
+ <property name="label">1</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">1</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_2_button">
+ <property name="label">2</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">2</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_0_button">
+ <property name="label">0</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">0</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_numeric_point_button">
+ <property name="label" comments="Label is set in gtk.c to comply with LC flags">.</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-numeric-point</property>
+ <style>
+ <class name="numeric-point-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_3_button">
+ <property name="label">3</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">3</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_multiply_button">
+ <property name="label">×</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Multiply [*]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'×'</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_subtract_button">
+ <property name="label">−</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Subtract [-]</property>
+ <property name="action_name">cal.subtract</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_add_button">
+ <property name="label">+</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Add [+]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'+'</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_pi_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Pi [Ctrl+P]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'π'</property>
+ <child>
+ <object class="GtkLabel" id="pi_label">
+ <property name="visible">True</property>
+ <property name="label">π</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_root_button">
+ <property name="label">√</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Root [Ctrl+R]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'√'</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_x_squared_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Square [Ctrl+2]</property>
+ <property name="action_name">cal.square</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_x_squared_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the exponentiation (x to the power of y) button">Exponent</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="x_squared_label">
+ <property name="visible">True</property>
+ <property
name="label"><i>x</i><sup><i>2</i></sup></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_clear_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Clear Display [Escape]</property>
+ <property name="action_name">cal.clear</property>
+ <style>
+ <class name="destructive-action"/>
+ <class name="image-button"/>
+ </style>
+ <child>
+ <object class="GtkImage" id="calc_clear_icon">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">edit-clear-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_start_group_button">
+ <property name="label">(</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Start Group [(]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'('</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_end_group_button">
+ <property name="label">)</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">End Group [)]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">')'</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_percentage_button">
+ <property name="label">%</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Percentage [%]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'%'</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_result_button">
+ <property name="label" translatable="yes" comments="Label on the solve button (clicking this
solves the displayed calculation)">=</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Calculate Result</property>
+ <property name="action_name">cal.solve</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">3</property>
+ <property name="height">2</property>
+ </packing>
</child>
</object>
<packing>
- <property name="left_attach">2</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_4_button">
- <property name="label">4</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">4</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_7_button">
- <property name="label">7</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">7</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="left_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_8_button">
- <property name="label">8</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">8</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_9_button">
- <property name="label">9</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">9</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_5_button">
- <property name="label">5</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">5</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_6_button">
- <property name="label">6</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">6</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_divide_button">
- <property name="label">÷</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Divide [/]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'÷'</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_1_button">
- <property name="label">1</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">1</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="top_attach">3</property>
- <property name="left_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_2_button">
- <property name="label">2</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">2</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_0_button">
- <property name="label">0</property>
- <property name="width_request">50</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">0</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="top_attach">4</property>
- <property name="left_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_numeric_point_button">
- <property name="label" comments="Label is set in gtk.c to comply with LC flags">.</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-numeric-point</property>
- <style>
- <class name="numeric-point-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_3_button">
- <property name="label">3</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">3</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_multiply_button">
- <property name="label">×</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Multiply [*]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'×'</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_subtract_button">
- <property name="label">−</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Subtract [-]</property>
- <property name="action_name">cal.subtract</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_add_button">
- <property name="label">+</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Add [+]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'+'</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_result_button">
- <property name="label" translatable="yes" comments="Label on the solve button (clicking this solves
the displayed calculation)">=</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Calculate Result</property>
- <property name="action_name">cal.solve</property>
- <style>
- <class name="suggested-action"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">4</property>
+ <property name="name">basic</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_clear_button">
+ <object class="GtkSeparator">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Clear Display [Escape]</property>
- <property name="action_name">cal.clear</property>
- <property name="label">C</property>
+ <property name="orientation">vertical</property>
</object>
- <packing>
- <property name="left_attach">5</property>
- </packing>
</child>
<child>
- <object class="GtkToggleButton" id="calc_subscript_button">
+ <object class="GtkGrid" id="advanced">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Subscript mode [Alt]</property>
- <property name="action_name">cal.set-number-mode</property>
- <property name="action_target">'subscript'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_subscript_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
subscript mode button">Subscript</property>
+ <property name="halign">center</property>
+ <property name="row-homogeneous">True</property>
+ <property name="column-homogeneous">True</property>
+ <property name="row_spacing">4</property>
+ <property name="column_spacing">4</property>
+ <child>
+ <object class="GtkToggleButton" id="calc_subscript_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Subscript mode [Alt]</property>
+ <property name="action_name">cal.set-number-mode</property>
+ <property name="action_target">'subscript'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_subscript_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the subscript mode button">Subscript</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label">↓n</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label4">
+ <object class="GtkToggleButton" id="calc_superscript_button">
<property name="visible">True</property>
- <property name="label">↓n</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Superscript mode [Ctrl]</property>
+ <property name="action_name">cal.set-number-mode</property>
+ <property name="action_target">'superscript'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_superscript_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the superscript mode button">Superscript</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label">↑n</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="calc_superscript_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Superscript mode [Ctrl]</property>
- <property name="action_name">cal.set-number-mode</property>
- <property name="action_target">'superscript'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_superscript_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
superscript mode button">Superscript</property>
+ <child>
+ <object class="GtkButton" id="calc_factor_button">
+ <property name="label">a×b</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Factorize [Ctrl+F]</property>
+ <property name="action_name">cal.factorize</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_factor_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the factorize button">Factorize</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label3">
+ <object class="GtkButton" id="calc_exponential_button">
<property name="visible">True</property>
- <property name="label">↑n</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Scientific exponent [Ctrl+E]</property>
+ <property name="action_name">cal.insert-exponent</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_exponential_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the scientific exponent button">Scientific Exponent</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label">×10<sup><i>y</i></sup></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_exponential_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Scientific exponent [Ctrl+E]</property>
- <property name="action_name">cal.insert-exponent</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_exponential_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
scientific exponent button">Scientific Exponent</property>
+ <child>
+ <object class="GtkButton" id="calc_cosine_button">
+ <property name="label">cos</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Cosine</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'cos '</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_sine_button">
+ <property name="label">sin</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Sine</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'sin '</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_tangent_button">
+ <property name="label">tan</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Tangent</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'tan '</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_hyperbolic_cosine_button">
+ <property name="label">cosh</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Hyperbolic Cosine</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'cosh '</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_hyperbolic_sine_button">
+ <property name="label">sinh</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Hyperbolic Sine</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'sinh '</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label2">
+ <object class="GtkButton" id="calc_hyperbolic_tangent_button">
+ <property name="label">tanh</property>
<property name="visible">True</property>
- <property name="label">×10<sup><i>y</i></sup></property>
- <property name="use_markup">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="left_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_modulus_divide_button">
- <property name="label">mod</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Modulus divide</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">' mod '</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_start_group_button">
- <property name="label">(</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Start Group [(]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'('</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_end_group_button">
- <property name="label">)</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">End Group [)]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">')'</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="calc_memory_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Memory</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_memory_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
memory button">Memory</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Hyperbolic Tangent</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'tanh '</property>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
<child>
- <object class="GtkHBox" id="hbox20">
+ <object class="GtkButton" id="calc_x_pow_y_button">
<property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="label23">
- <property name="visible">True</property>
- <property name="label" translatable="yes" comments="The label on the memory
button">x</property>
- <attributes>
- <attribute name="style" value="italic"/>
- </attributes>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Exponent [^ or **]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'^'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_x_pow_y_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the exponentiation (x to the power of y) button">Exponent</property>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
- <object class="GtkArrow" id="arrow14">
+ <object class="GtkLabel" id="x_pow_y_label">
<property name="visible">True</property>
- <property name="arrow_type">down</property>
+ <property
name="label"><i>x</i><sup><i>y</i></sup></property>
+ <property name="use_markup">True</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
- </child>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">2</property>
- <property name="width">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_abs_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Absolute Value [|]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'|'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_abs_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
absolute value button">Absolute Value</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="label">|<i>x</i>|</property>
- <property name="use_markup">True</property>
- </object>
- </child>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_real_portion_button">
- <property name="label">Re</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Real Component</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'Re '</property>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_conjugate_button">
- <property name="label">conj</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Complex conjugate</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'conj '</property>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_arg_button">
- <property name="label">Arg</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Complex argument</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'Arg '</property>
- </object>
- <packing>
- <property name="left_attach">9</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_natural_logarithm_button">
- <property name="label">ln</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Natural Logarithm</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'ln '</property>
- </object>
- <packing>
- <property name="left_attach">9</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_logarithm_button">
- <property name="label">log</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Logarithm</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'log '</property>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_x_pow_y_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Exponent [^ or **]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'^'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_x_pow_y_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
exponentiation (x to the power of y) button">Exponent</property>
- </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="x_pow_y_label">
+ <object class="GtkButton" id="calc_inverse_button">
<property name="visible">True</property>
- <property name="label"><i>x</i><sup><i>y</i></sup></property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Inverse [Ctrl+I]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'⁻¹'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_inverse_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the inverse button">Inverse</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="label"><i>x</i><sup>−1</sup></property>
+ <property name="use_markup">True</property>
+ <property name="justify">center</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_root_button">
- <property name="label">√</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Root [Ctrl+R]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'√'</property>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_undo_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Undo [Ctrl+Z]</property>
- <property name="action_name">cal.undo</property>
<child>
- <object class="GtkImage" id="image2">
+ <object class="GtkButton" id="calc_eulers_number_button">
<property name="visible">True</property>
- <property name="icon-name">edit-undo-symbolic</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Euler’s Number</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'e'</property>
+ <child>
+ <object class="GtkLabel" id="eulers_number_label">
+ <property name="visible">True</property>
+ <property name="label"><i>e</i></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_pi_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Pi [Ctrl+P]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'π'</property>
<child>
- <object class="GtkLabel" id="pi_label">
+ <object class="GtkButton" id="calc_natural_logarithm_button">
+ <property name="label">ln</property>
<property name="visible">True</property>
- <property name="label">π</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Natural Logarithm</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'ln '</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_eulers_number_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Euler’s Number</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'e'</property>
<child>
- <object class="GtkLabel" id="eulers_number_label">
+ <object class="GtkButton" id="calc_logarithm_button">
+ <property name="label">log</property>
<property name="visible">True</property>
- <property name="label"><i>e</i></property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Logarithm</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'log '</property>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkGrid" id="goniometric_buttons">
- <property name="visible">True</property>
- <property name="row-homogeneous">True</property>
- <property name="column-homogeneous">True</property>
- <property name="row_spacing">4</property>
- <property name="column_spacing">4</property>
<child>
- <object class="GtkButton" id="calc_cosine_button">
- <property name="label">cos</property>
+ <object class="GtkButton" id="calc_factorial_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Cosine</property>
+ <property name="tooltip_text" translatable="yes">Factorial [!]</property>
<property name="action_name">cal.insert-general</property>
- <property name="action_target">'cos '</property>
+ <property name="action_target">'!'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_factorial_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the factorial button">Factorial</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="label"><i>x</i>!</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
<packing>
<property name="left_attach">0</property>
+ <property name="top_attach">3</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_sine_button">
- <property name="label">sin</property>
+ <object class="GtkButton" id="calc_abs_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_underline">True</property>
<property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Sine</property>
+ <property name="tooltip_text" translatable="yes">Absolute Value [|]</property>
<property name="action_name">cal.insert-general</property>
- <property name="action_target">'sin '</property>
+ <property name="action_target">'|'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_abs_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the absolute value button">Absolute Value</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label">|<i>x</i>|</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
+ <property name="top_attach">3</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_tangent_button">
- <property name="label">tan</property>
+ <object class="GtkButton" id="calc_imaginary_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_underline">True</property>
<property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Tangent</property>
<property name="action_name">cal.insert-general</property>
- <property name="action_target">'tan '</property>
+ <property name="action_target">'i'</property>
+ <child>
+ <object class="GtkLabel" id="imaginary_label">
+ <property name="visible">True</property>
+ <property name="label"><i>i</i></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
</object>
<packing>
<property name="left_attach">2</property>
+ <property name="top_attach">3</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_hyperbolic_sine_button">
- <property name="label">sinh</property>
+ <object class="GtkButton" id="calc_real_portion_button">
+ <property name="label">Re</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_underline">True</property>
<property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Hyperbolic Sine</property>
+ <property name="tooltip_text" translatable="yes">Real Component</property>
<property name="action_name">cal.insert-general</property>
- <property name="action_target">'sinh '</property>
+ <property name="action_target">'Re '</property>
</object>
<packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
+ <property name="left_attach">3</property>
+ <property name="top_attach">3</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_hyperbolic_cosine_button">
- <property name="label">cosh</property>
+ <object class="GtkButton" id="calc_imaginary_portion_button">
+ <property name="label">Im</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_underline">True</property>
<property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Hyperbolic Cosine</property>
+ <property name="tooltip_text" translatable="yes">Imaginary Component</property>
<property name="action_name">cal.insert-general</property>
- <property name="action_target">'cosh '</property>
+ <property name="action_target">'Im '</property>
</object>
<packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
+ <property name="left_attach">4</property>
+ <property name="top_attach">3</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_hyperbolic_tangent_button">
- <property name="label">tanh</property>
+ <object class="GtkButton" id="calc_conjugate_button">
+ <property name="label">conj</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
+ <property name="use_underline">True</property>
<property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Hyperbolic Tangent</property>
+ <property name="tooltip_text" translatable="yes">Complex conjugate</property>
<property name="action_name">cal.insert-general</property>
- <property name="action_target">'tanh '</property>
+ <property name="action_target">'conj '</property>
</object>
<packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
+ <property name="left_attach">3</property>
+ <property name="top_attach">4</property>
</packing>
</child>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">0</property>
- <property name="width">4</property>
- <property name="height">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="calc_function_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Additional Functions</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_function_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for the
store value button">Store</property>
+ <child>
+ <object class="GtkButton" id="calc_arg_button">
+ <property name="label">Arg</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Complex argument</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'Arg '</property>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">4</property>
+ </packing>
</child>
<child>
- <object class="GtkHBox" id="hbox2">
+ <object class="GtkMenuButton" id="calc_memory_button">
<property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Memory</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_memory_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the memory button">Memory</property>
+ </object>
+ </child>
<child>
- <object class="GtkLabel" id="label5">
+ <object class="GtkHBox" id="hbox20">
<property name="visible">True</property>
- <property name="label">f(x)</property>
+ <child>
+ <object class="GtkLabel" id="label23">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes" comments="The label on the memory
button">x</property>
+ <attributes>
+ <attribute name="style" value="italic"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkArrow" id="arrow14">
+ <property name="visible">True</property>
+ <property name="arrow_type">down</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="calc_function_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Additional Functions</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_function_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the store value button">Store</property>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
- <object class="GtkArrow" id="arrow1">
+ <object class="GtkHBox" id="hbox2">
<property name="visible">True</property>
- <property name="arrow_type">down</property>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label">f(x)</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkArrow" id="arrow1">
+ <property name="visible">True</property>
+ <property name="arrow_type">down</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
</child>
+ <style>
+ <class name="fx-button"/>
+ </style>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">4</property>
+ </packing>
</child>
- <style>
- <class name="fx-button"/>
- </style>
</object>
<packing>
- <property name="left_attach">9</property>
- <property name="top_attach">4</property>
+ <property name="name">advanced</property>
</packing>
</child>
- <style>
- <class name="math-buttons"/>
- </style>
+ </object>
+ <object class="GtkSizeGroup">
+ <property name="mode">both</property>
+ <widgets>
+ <widget name="basic"/>
+ <widget name="advanced"/>
+ </widgets>
</object>
</interface>
diff --git a/src/buttons-programming.ui b/src/buttons-programming.ui
index f8e33b62..47f9b4ba 100644
--- a/src/buttons-programming.ui
+++ b/src/buttons-programming.ui
@@ -5,10 +5,19 @@
<object class="GtkVBox" id="button_panel">
<property name="visible">True</property>
<property name="spacing">6</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">6</property>
+ <style>
+ <class name="display-toolbar"/>
+ </style>
<child>
<object class="GtkBox" id="hbox1">
<property name="visible">True</property>
<property name="orientation">horizontal</property>
+ <property name="spacing">6</property>
<child>
<object class="GtkComboBoxText" id="base_combo">
<property name="visible">True</property>
@@ -21,6 +30,34 @@
</items>
</object>
</child>
+ <child>
+ <object class="GtkButton" id="undo_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="valign">center</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="label" translatable="yes">Undo</property>
+ <property name="tooltip_text" translatable="yes">Undo [Ctrl+Z]</property>
+ <property name="action_name">win.undo</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
+ </child>
<child>
<object class="GtkLabel" id="base_label">
<property name="visible">True</property>
@@ -30,14 +67,10 @@
<property name="label" comments="Example content">FF₁₆ 256₁₀</property>
</object>
<packing>
- <property name="expand">True</property>
+ <property name="pack_type">end</property>
</packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">0</property>
- </packing>
</child>
<child>
<object class="GtkAlignment" id="bit_panel">
@@ -1223,1034 +1256,1108 @@
</object>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
+ </child>
+ </object>
</child>
<child>
- <object class="GtkGrid" id="advanced_panel">
+ <object class="HdyLeaflet">
<property name="visible">True</property>
- <property name="row-homogeneous">True</property>
- <property name="column-homogeneous">True</property>
- <property name="row_spacing">4</property>
- <property name="column_spacing">4</property>
- <child>
- <object class="GtkButton" id="calc_root_button">
- <property name="label">√</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Root [Ctrl+R]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'√'</property>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_logarithm_button">
- <property name="label">log</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Logarithm</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'log '</property>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
+ <property name="child_transition_type">slide</property>
+ <property name="mode_transition_type">slide</property>
+ <property name="halign">center</property>
+ <property name="visible-child-name">basic</property>
+ <style>
+ <class name="math-buttons"/>
+ </style>
<child>
- <object class="GtkButton" id="calc_factor_button">
- <property name="label">fact</property>
+ <object class="GtkGrid" id="basic">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Factorize [Ctrl+F]</property>
- <property name="action_name">cal.factorize</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_factor_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the factorize button">Factorize</property>
+ <property name="halign">center</property>
+ <property name="row-homogeneous">True</property>
+ <property name="column-homogeneous">True</property>
+ <property name="row_spacing">4</property>
+ <property name="column_spacing">4</property>
+ <child>
+ <object class="GtkGrid" id="digits">
+ <property name="visible">True</property>
+ <property name="row-homogeneous">True</property>
+ <property name="column-homogeneous">True</property>
+ <property name="row_spacing">4</property>
+ <property name="column_spacing">4</property>
+ <child>
+ <object class="GtkButton" id="calc_0_button">
+ <property name="label">0</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">0</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_1_button">
+ <property name="label">1</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">1</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_2_button">
+ <property name="label">2</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">2</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_3_button">
+ <property name="label">3</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">3</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_4_button">
+ <property name="label">4</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">4</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_5_button">
+ <property name="label">5</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">5</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_6_button">
+ <property name="label">6</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">6</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_7_button">
+ <property name="label">7</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">7</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_8_button">
+ <property name="label">8</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">8</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_9_button">
+ <property name="label">9</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">9</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_10_button">
+ <property name="label">A</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">10</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_11_button">
+ <property name="label">B</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">11</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_12_button">
+ <property name="label">C</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">12</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_13_button">
+ <property name="label">D</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">13</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_14_button">
+ <property name="label">E</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">14</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_15_button">
+ <property name="label">F</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-digit</property>
+ <property name="action_target">15</property>
+ <style>
+ <class name="number-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">3</property>
+ <property name="height">3</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_binary_logarithm_button">
- <property name="label">log₂</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Binary Logarithm</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'log₂ '</property>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_abs_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Absolute Value [|]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'|'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_abs_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the absolute value button">Absolute Value</property>
+ <child>
+ <object class="GtkButton" id="calc_modulus_divide_button">
+ <property name="label">mod</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Modulus divide</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">' mod '</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label1">
+ <object class="GtkButton" id="calc_divide_button">
+ <property name="label">÷</property>
<property name="visible">True</property>
- <property name="label">|<i>x</i>|</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Divide [/]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'÷'</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_integer_portion_button">
- <property name="label">int</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Integer Component</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'int '</property>
- </object>
- <packing>
- <property name="left_attach">9</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_fractional_portion_button">
- <property name="label">frac</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Fractional Component</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'frac '</property>
- </object>
- <packing>
- <property name="left_attach">9</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_divide_button">
- <property name="label">÷</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Divide [/]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'÷'</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_0_button">
- <property name="label">0</property>
- <property name="width_request">50</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">0</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_multiply_button">
- <property name="label">×</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Multiply [*]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'×'</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_subtract_button">
- <property name="label">−</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Subtract [-]</property>
- <property name="action_name">cal.subtract</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_add_button">
- <property name="label">+</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Add [+]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'+'</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_result_button">
- <property name="label" translatable="yes" comments="Label on the solve button (clicking this
solves the displayed calculation)">=</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Calculate Result</property>
- <property name="action_name">cal.solve</property>
- <style>
- <class name="suggested-action"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_clear_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Clear Display [Escape]</property>
- <property name="action_name">cal.clear</property>
- <property name="label">C</property>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_1_button">
- <property name="label">1</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">1</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_2_button">
- <property name="label">2</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">2</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_3_button">
- <property name="label">3</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">3</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_4_button">
- <property name="label">4</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">4</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_5_button">
- <property name="label">5</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">5</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_6_button">
- <property name="label">6</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">6</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_7_button">
- <property name="label">7</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">7</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_8_button">
- <property name="label">8</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">8</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_9_button">
- <property name="label">9</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">9</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_10_button">
- <property name="label">A</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">10</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_11_button">
- <property name="label">B</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">11</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_12_button">
- <property name="label">C</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">12</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_13_button">
- <property name="label">D</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">13</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_14_button">
- <property name="label">E</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">14</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_15_button">
- <property name="label">F</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-digit</property>
- <property name="action_target">15</property>
- <style>
- <class name="number-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="calc_subscript_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Subscript mode [Alt]</property>
- <property name="action_name">cal.set-number-mode</property>
- <property name="action_target">'subscript'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_subscript_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the subscript mode button">Subscript</property>
+ <child>
+ <object class="GtkButton" id="calc_numeric_point_button">
+ <property name="label" comments="Label is set in gtk.c to comply with LC flags">.</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="action_name">cal.insert-numeric-point</property>
+ <style>
+ <class name="numeric-point-button"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_multiply_button">
+ <property name="label">×</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Multiply [*]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'×'</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label4">
+ <object class="GtkButton" id="calc_subtract_button">
+ <property name="label">−</property>
<property name="visible">True</property>
- <property name="label">↓n</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Subtract [-]</property>
+ <property name="action_name">cal.subtract</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">3</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkToggleButton" id="calc_superscript_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Superscript mode [Ctrl]</property>
- <property name="action_name">cal.set-number-mode</property>
- <property name="action_target">'superscript'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_superscript_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the superscript mode button">Superscript</property>
+ <child>
+ <object class="GtkButton" id="calc_add_button">
+ <property name="label">+</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Add [+]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'+'</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">4</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label3">
+ <object class="GtkButton" id="calc_character_button">
+ <property name="label">á</property>
<property name="visible">True</property>
- <property name="label">↑n</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Insert Character Code</property>
+ <property name="action_name">cal.insert-character</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_character_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the insert character button">Insert Character</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_numeric_point_button">
- <property name="label" comments="Label is set in gtk.c to comply with LC flags">.</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="action_name">cal.insert-numeric-point</property>
- <style>
- <class name="numeric-point-button"/>
- </style>
- </object>
- <packing>
- <property name="left_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="calc_memory_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Memory</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_store_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the store value button">Store</property>
+ <child>
+ <object class="GtkButton" id="calc_root_button">
+ <property name="label">√</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Root [Ctrl+R]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'√'</property>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
<child>
- <object class="GtkHBox" id="hbox20">
+ <object class="GtkButton" id="calc_x_squared_button">
<property name="visible">True</property>
- <property name="spacing">3</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Square [Ctrl+2]</property>
+ <property name="action_name">cal.square</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_x_squared_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the exponentiation (x to the power of y) button">Exponent</property>
+ </object>
+ </child>
<child>
- <object class="GtkLabel" id="label23">
+ <object class="GtkLabel" id="x_squared_label">
<property name="visible">True</property>
- <property name="label" translatable="yes" comments="The label on the memory
button">x</property>
+ <property
name="label"><i>x</i><sup><i>2</i></sup></property>
+ <property name="use_markup">True</property>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_clear_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Clear Display [Escape]</property>
+ <property name="action_name">cal.clear</property>
+ <style>
+ <class name="destructive-action"/>
+ <class name="image-button"/>
+ </style>
<child>
- <object class="GtkArrow" id="arrow14">
+ <object class="GtkImage" id="calc_clear_icon">
<property name="visible">True</property>
- <property name="arrow_type">down</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">edit-clear-symbolic</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_start_group_button">
+ <property name="label">(</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Start Group [(]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'('</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_end_group_button">
+ <property name="label">)</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">End Group [)]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">')'</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_result_button">
+ <property name="label" translatable="yes" comments="Label on the solve button (clicking this
solves the displayed calculation)">=</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Calculate Result</property>
+ <property name="action_name">cal.solve</property>
+ <style>
+ <class name="suggested-action"/>
+ </style>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">3</property>
+ <property name="height">2</property>
+ </packing>
</child>
</object>
<packing>
- <property name="left_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_xor_button">
- <property name="label">XOR</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Boolean Exclusive OR</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'⊻'</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_or_button">
- <property name="label">OR</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Boolean OR</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'∨'</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_and_button">
- <property name="label">AND</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Boolean AND</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'∧'</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_modulus_divide_button">
- <property name="label">mod</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Modulus divide</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">' mod '</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_start_group_button">
- <property name="label">(</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Start Group [(]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'('</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
+ <property name="name">basic</property>
</packing>
</child>
<child>
- <object class="GtkButton" id="calc_end_group_button">
- <property name="label">)</property>
+ <object class="GtkSeparator">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">End Group [)]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">')'</property>
+ <property name="orientation">vertical</property>
</object>
- <packing>
- <property name="left_attach">5</property>
- </packing>
</child>
<child>
- <object class="GtkMenuButton" id="calc_shift_left_button">
+ <object class="GtkGrid" id="advanced">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Shift Left</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_shift_left_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the shift left button">Shift Left</property>
+ <property name="halign">center</property>
+ <property name="row-homogeneous">True</property>
+ <property name="column-homogeneous">True</property>
+ <property name="row_spacing">4</property>
+ <property name="column_spacing">4</property>
+ <child>
+ <object class="GtkToggleButton" id="calc_subscript_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Subscript mode [Alt]</property>
+ <property name="action_name">cal.set-number-mode</property>
+ <property name="action_target">'subscript'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_subscript_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the subscript mode button">Subscript</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label">↓n</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkToggleButton" id="calc_superscript_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Superscript mode [Ctrl]</property>
+ <property name="action_name">cal.set-number-mode</property>
+ <property name="action_target">'superscript'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_superscript_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the superscript mode button">Superscript</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label">↑n</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_factor_button">
+ <property name="label">a×b</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Factorize [Ctrl+F]</property>
+ <property name="action_name">cal.factorize</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_factor_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the factorize button">Factorize</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_x_pow_y_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Exponent [^ or **]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'^'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_x_pow_y_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the exponentiation (x to the power of y) button">Exponent</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="x_pow_y_label">
+ <property name="visible">True</property>
+ <property
name="label"><i>x</i><sup><i>y</i></sup></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_inverse_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Inverse [Ctrl+I]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'⁻¹'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_inverse_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the inverse button">Inverse</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="label"><i>x</i><sup>−1</sup></property>
+ <property name="use_markup">True</property>
+ <property name="justify">center</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
<child>
- <object class="GtkHBox" id="hbox11">
+ <object class="GtkButton" id="calc_factorial_button">
<property name="visible">True</property>
- <property name="spacing">3</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Factorial [!]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'!'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_factorial_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the factorial button">Factorial</property>
+ </object>
+ </child>
<child>
- <object class="GtkLabel" id="label7">
+ <object class="GtkLabel" id="label14">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label"><<</property>
+ <property name="label"><i>x</i>!</property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_abs_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Absolute Value [|]</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'|'</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_abs_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the absolute value button">Absolute Value</property>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
- <object class="GtkArrow" id="arrow5">
+ <object class="GtkLabel" id="label1">
<property name="visible">True</property>
- <property name="arrow_type">down</property>
+ <property name="label">|<i>x</i>|</property>
+ <property name="use_markup">True</property>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">3</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">6</property>
- </packing>
- </child>
- <child>
- <object class="GtkMenuButton" id="calc_shift_right_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Shift Right</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_shift_right_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the shift right button">Shift Right</property>
+ <child>
+ <object class="GtkButton" id="calc_logarithm_button">
+ <property name="label">log</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Logarithm</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'log '</property>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">2 </property>
+ </packing>
</child>
<child>
- <object class="GtkHBox" id="hbox10">
+ <object class="GtkButton" id="calc_binary_logarithm_button">
+ <property name="label">log₂</property>
<property name="visible">True</property>
- <property name="spacing">3</property>
- <child>
- <object class="GtkLabel" id="label6">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label">>></property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Binary Logarithm</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'log₂ '</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_integer_portion_button">
+ <property name="label">int</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Integer Component</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'int '</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_fractional_portion_button">
+ <property name="label">frac</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Fractional Component</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'frac '</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkMenuButton" id="calc_memory_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Memory</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_store_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the store value button">Store</property>
</object>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
<child>
- <object class="GtkArrow" id="arrow4">
+ <object class="GtkHBox" id="hbox20">
<property name="visible">True</property>
- <property name="arrow_type">down</property>
+ <property name="spacing">3</property>
+ <child>
+ <object class="GtkLabel" id="label23">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes" comments="The label on the memory
button">x</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkArrow" id="arrow14">
+ <property name="visible">True</property>
+ <property name="arrow_type">down</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="position">1</property>
- </packing>
</child>
</object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">7</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_character_button">
- <property name="label">á</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Insert Character Code</property>
- <property name="action_name">cal.insert-character</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_character_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the insert character button">Insert Character</property>
+ <child>
+ <object class="GtkButton" id="calc_xor_button">
+ <property name="label">XOR</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Boolean Exclusive OR</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'⊻'</property>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">8</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_not_button">
- <property name="label">NOT</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Boolean NOT</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'¬'</property>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_factorial_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Factorial [!]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'!'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_factorial_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the factorial button">Factorial</property>
+ <child>
+ <object class="GtkButton" id="calc_or_button">
+ <property name="label">OR</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Boolean OR</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'∨'</property>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label14">
+ <object class="GtkButton" id="calc_and_button">
+ <property name="label">AND</property>
<property name="visible">True</property>
- <property name="label"><i>x</i>!</property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Boolean AND</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'∧'</property>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_inverse_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Inverse [Ctrl+I]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'⁻¹'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_inverse_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the inverse button">Inverse</property>
+ <child>
+ <object class="GtkMenuButton" id="calc_shift_left_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Shift Left</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_shift_left_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the shift left button">Shift Left</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox11">
+ <property name="visible">True</property>
+ <property name="spacing">3</property>
+ <child>
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label"><<</property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkArrow" id="arrow5">
+ <property name="visible">True</property>
+ <property name="arrow_type">down</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="label20">
+ <object class="GtkMenuButton" id="calc_shift_right_button">
<property name="visible">True</property>
- <property name="label"><i>x</i><sup>−1</sup></property>
- <property name="use_markup">True</property>
- <property name="justify">center</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Shift Right</property>
+ <child internal-child="accessible">
+ <object class="AtkObject" id="calc_shift_right_button-atkobject">
+ <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name
for the shift right button">Shift Right</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox10">
+ <property name="visible">True</property>
+ <property name="spacing">3</property>
+ <child>
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">>></property>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkArrow" id="arrow4">
+ <property name="visible">True</property>
+ <property name="arrow_type">down</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="left_attach">4</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="left_attach">9</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_x_pow_y_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Exponent [^ or **]</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'^'</property>
- <child internal-child="accessible">
- <object class="AtkObject" id="calc_x_pow_y_button-atkobject">
- <property name="AtkObject::accessible-name" translatable="yes" comments="Accessible name for
the exponentiation (x to the power of y) button">Exponent</property>
+ <child>
+ <object class="GtkButton" id="calc_not_button">
+ <property name="label">NOT</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Boolean NOT</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'¬'</property>
</object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">3</property>
+ </packing>
</child>
<child>
- <object class="GtkLabel" id="x_pow_y_label">
+ <object class="GtkButton" id="calc_ones_complement_button">
+ <property name="label">ones</property>
<property name="visible">True</property>
- <property
name="label"><i>x</i><sup><i>y</i></sup></property>
- <property name="use_markup">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Ones’ Complement</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'ones '</property>
</object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="calc_twos_complement_button">
+ <property name="label">twos</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="tooltip_text" translatable="yes">Two’s Complement</property>
+ <property name="action_name">cal.insert-general</property>
+ <property name="action_target">'twos '</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">1</property>
+ </packing>
</child>
</object>
<packing>
- <property name="left_attach">8</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_ones_complement_button">
- <property name="label">ones</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Ones’ Complement</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'ones '</property>
- </object>
- <packing>
- <property name="left_attach">6</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_twos_complement_button">
- <property name="label">twos</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_underline">True</property>
- <property name="focus_on_click">False</property>
- <property name="tooltip_text" translatable="yes">Two’s Complement</property>
- <property name="action_name">cal.insert-general</property>
- <property name="action_target">'twos '</property>
- </object>
- <packing>
- <property name="left_attach">7</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="calc_trunc_button">
- <property name="label">trunc</property>
- <property name="visible">False</property>
- <property name="can_focus">False</property>
- <property name="receives_default">False</property>
- <property name="use_underline">False</property>
- <property name="focus_on_click">False</property>
- </object>
- <packing>
- <property name="left_attach">8</property>
- <property name="top_attach">1</property>
+ <property name="name">advanced</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- <style>
- <class name="math-buttons"/>
- </style>
</object>
- <packing>
- <property name="position">2</property>
- </packing>
</child>
</object>
+ <object class="GtkSizeGroup">
+ <property name="mode">both</property>
+ <widgets>
+ <widget name="basic"/>
+ <widget name="advanced"/>
+ </widgets>
+ </object>
<object class="GtkDialog" id="character_code_dialog">
<property name="border_width">6</property>
<property name="title" translatable="yes" comments="Title of insert character code dialog">Insert
Character Code</property>
diff --git a/src/calculator.css b/src/calculator.css
index a97b1e8c..350f748c 100644
--- a/src/calculator.css
+++ b/src/calculator.css
@@ -15,15 +15,68 @@
padding: 0px 12px;
}
-window > grid {
- padding: 12px;
+/* window > grid { */
+/* padding: 12px; */
+/* } */
+
+mathdisplay {
+ margin-top: 12px;
+ margin-left: 12px;
+ margin-right: 12px;
+ border-radius: 5px 5px 0 0;
}
+.display-toolbar {
+ margin-left: 12px;
+ margin-right: 12px;
+}
+
+/* Copied from .inline-toolbar */
+.display-toolbar {
+ /* @extend %toolbar */
+ -GtkWidget-window-dragging: true;
+ padding: 4px;
+ background-color: @theme_bg_color;
+
+ /* @extend %darkbar */
+ border-style: solid;
+ border-color: @borders;
+ background-color: mix(@theme_bg_color, @borders, 0.7);
+
+ /* .inline-toolbar */
+ padding: 3px;
+ border-width: 0 1px 1px;
+ border-radius: 0 0 5px 5px;
+}
+
+/* Copied from .inline-toolbar */
+.display-toolbar:backdrop {
+ /* @extend %darkbar */
+ border-color: @unfocused_borders;
+ /* background-color: @theme_backdrop_dark_fill; */
+ background-color: mix(@unfocused_borders, @theme_unfocused_bg_color, 0.35);;
+ box-shadow: none;
+ /* transition: @theme_backdrop_transition; */
+ transition: 200ms ease-out
+}
+
+.math-buttons > grid {
+ min-height: 316px;
+ min-width: 316px;
+ margin-left: 12px;
+ margin-right: 12px;
+ margin-top: 6px;
+ margin-bottom: 12px;
+}
.math-buttons button {
+ /* Counter the button.text-button style. */
+ padding: 4px;
}
.math-buttons .number-button {
+ font-size: 1.2em;
+ font-weight: bolder;
}
.math-buttons .numeric-point-button {
@@ -42,6 +95,7 @@ window > grid {
.history-view {
border-width: 0 0 1px 0;
+ border-radius: 5px 5px 0 0;
}
.history-view, .history-entry {
diff --git a/src/gnome-calculator.vala b/src/gnome-calculator.vala
index be9e84d1..880828ca 100644
--- a/src/gnome-calculator.vala
+++ b/src/gnome-calculator.vala
@@ -33,7 +33,7 @@ public class Calculator : Gtk.Application
{ "new-window", new_window_cb, null, null, null },
{ "preferences", show_preferences_cb, null, null, null },
{ "shortcuts", keyboard_shortcuts_cb, null, null, null },
- { "help", help_cb, null, null, null },
+ // { "help", help_cb, null, null, null },
{ "about", about_cb, null, null, null },
{ "quit", quit_cb, null, null, null },
};
@@ -401,6 +401,8 @@ public class Calculator : Gtk.Application
Intl.bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
Intl.textdomain (GETTEXT_PACKAGE);
+ Hdy.init (ref args);
+
/* Seed random number generator. */
var now = new DateTime.now_utc ();
Random.set_seed (now.get_microsecond ());
diff --git a/src/math-buttons.vala b/src/math-buttons.vala
index 694ec7f1..c1381b5b 100644
--- a/src/math-buttons.vala
+++ b/src/math-buttons.vala
@@ -108,7 +108,6 @@ public class MathButtons : Gtk.Box
public MathButtons (MathEquation equation)
{
Object (orientation: Gtk.Orientation.VERTICAL, vexpand_set: true);
- spacing = 6;
show.connect (load_buttons);
this.equation = equation;
diff --git a/src/math-converter.ui b/src/math-converter.ui
index 9ec03820..a4c704d4 100644
--- a/src/math-converter.ui
+++ b/src/math-converter.ui
@@ -2,25 +2,23 @@
<!-- Generated with glade 3.19.0 -->
<interface>
<requires lib="gtk+" version="3.16"/>
- <template class="MathConverter" parent="GtkGrid">
+ <template class="MathConverter" parent="GtkBox">
<property name="visible">False</property>
<property name="can_focus">False</property>
- <property name="row_spacing">6</property>
- <property name="column_spacing">6</property>
+ <property name="spacing">6</property>
+ <style>
+ <class name="display-toolbar"/>
+ </style>
<child>
- <object class="GtkButton" id="swap_button">
- <property name="label">⇆</property>
+ <object class="GtkLabel" id="from_label">
<property name="visible">True</property>
+ <property name="sensitive">True</property>
<property name="can_focus">False</property>
- <property name="receives_default">False</property>
- <property name="tooltip_text" translatable="yes">Switch conversion units</property>
- <property name="relief">none</property>
- <signal name="clicked" handler="swap_button_clicked_cb" swapped="no"/>
+ <property name="valign">center</property>
+ <property name="justify">center</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
</object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
<object class="GtkButton" id="in_button">
@@ -28,14 +26,7 @@
<property name="can_focus">False</property>
<property name="label" translatable="yes"> to </property>
<signal name="clicked" handler="convert_button_clicked_cb" swapped="no"/>
- <style>
- <class name="flat"/>
- </style>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
<object class="GtkComboBox" id="from_combo">
@@ -49,10 +40,29 @@
</attributes>
</child>
</object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="convert_equals">
+ <property name="visible">True</property>
+ <property name="sensitive">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <property name="justify">center</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ <property name="label" translatable="yes" context="convertion equals label">=</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="to_label">
+ <property name="visible">True</property>
+ <property name="sensitive">True</property>
+ <property name="can_focus">False</property>
+ <property name="valign">center</property>
+ <property name="justify">center</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0</property>
+ </object>
</child>
<child>
<object class="GtkComboBox" id="to_combo">
@@ -67,70 +77,44 @@
</attributes>
</child>
</object>
+ </child>
+ <child>
+ <object class="GtkButton" id="swap_button">
+ <property name="label">⇆</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Switch conversion units</property>
+ <signal name="clicked" handler="swap_button_clicked_cb" swapped="no"/>
+ </object>
+ </child>
+ <child>
+ <object class="GtkButton" id="undo_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="valign">center</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <property name="label" translatable="yes">Undo</property>
+ <property name="tooltip_text" translatable="yes">Undo [Ctrl+Z]</property>
+ <property name="action_name">win.undo</property>
+ <style>
+ <class name="text-button"/>
+ </style>
+ </object>
<packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
+ <property name="pack_type">end</property>
</packing>
</child>
<child>
- <object class="GtkBox" id="result_holder">
+ <object class="GtkSeparator">
<property name="visible">True</property>
- <property name="orientation">horizontal</property>
- <property name="sensitive">True</property>
- <property name="spacing">6</property>
<property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="valign">center</property>
- <property name="hexpand">True</property>
- <property name="vexpand">False</property>
- <child>
- <object class="GtkLabel" id="from_label">
- <property name="visible">True</property>
- <property name="sensitive">True</property>
- <property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="valign">center</property>
- <property name="hexpand">True</property>
- <property name="vexpand">False</property>
- <property name="justify">center</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="convert_equals">
- <property name="visible">True</property>
- <property name="sensitive">True</property>
- <property name="can_focus">False</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="hexpand">False</property>
- <property name="vexpand">False</property>
- <property name="justify">center</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- <property name="label" translatable="yes" context="convertion equals label">=</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="to_label">
- <property name="visible">True</property>
- <property name="sensitive">True</property>
- <property name="can_focus">False</property>
- <property name="halign">end</property>
- <property name="valign">center</property>
- <property name="hexpand">True</property>
- <property name="vexpand">False</property>
- <property name="justify">center</property>
- <property name="xalign">0</property>
- <property name="yalign">0</property>
- </object>
- <packing>
- <property name="expand">false</property>
- <property name="fill">true</property>
- </packing>
- </child>
</object>
+ <packing>
+ <property name="pack_type">end</property>
+ </packing>
</child>
</template>
</interface>
diff --git a/src/math-converter.vala b/src/math-converter.vala
index ee335891..dd0b5af3 100644
--- a/src/math-converter.vala
+++ b/src/math-converter.vala
@@ -9,7 +9,7 @@
*/
[GtkTemplate (ui = "/org/gnome/calculator/math-converter.ui")]
-public class MathConverter : Gtk.Grid
+public class MathConverter : Gtk.Box
{
private MathEquation equation = null;
@@ -27,10 +27,16 @@ public class MathConverter : Gtk.Grid
[GtkChild]
private Gtk.Label to_label;
+ private Serializer serializer;
+
public signal void changed ();
construct
{
+ serializer = new Serializer (DisplayFormat.AUTOMATIC, 10, 2);
+ serializer.set_leading_digits (6);
+ serializer.set_show_thousands_separators (true);
+
from_combo.set_cell_data_func (from_renderer, from_cell_data_func);
CurrencyManager.get_default ().updated.connect (() => { update_result_label (); });
@@ -106,8 +112,8 @@ public class MathConverter : Gtk.Grid
var z = convert_equation (x, out source_unit, out target_unit);
if (z != null)
{
- var source_text = source_unit.format (x);
- var target_text = target_unit.format (z);
+ var source_text = serializer.to_string (x);
+ var target_text = serializer.to_string (z);
from_label.set_text (source_text);
to_label.set_text (target_text);
}
diff --git a/src/math-display.vala b/src/math-display.vala
index a54bb778..c8866649 100644
--- a/src/math-display.vala
+++ b/src/math-display.vala
@@ -24,6 +24,10 @@ public class MathDisplay : Gtk.Viewport
/* Spinner widget that shows if we're calculating a response */
Gtk.Spinner spinner;
+ static construct {
+ set_css_name ("mathdisplay");
+ }
+
public MathDisplay (MathEquation equation)
{
_equation = equation;
diff --git a/src/math-window.ui b/src/math-window.ui
index 2b3f3af6..e10d2339 100644
--- a/src/math-window.ui
+++ b/src/math-window.ui
@@ -86,10 +86,6 @@
<property name="vexpand">True</property>
<property name="border_width">0</property>
<property name="orientation">vertical</property>
- <property name="row_spacing">6</property>
- <child>
- <placeholder/>
- </child>
<child>
<object class="MathConverter" id="converter">
<property name="visible">False</property>
@@ -153,6 +149,18 @@
</style>
</object>
</child>
+ <child>
+ <object class="GtkButton" id="undo_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_underline">True</property>
+ <property name="focus_on_click">False</property>
+ <style>
+ <class name="image-button"/>
+ </style>
+ </object>
+ </child>
<child>
<object class="GtkMenuButton" id="primary_menu_button">
<property name="visible">True</property> <!-- Disabled until
https://wiki.gnome.org/Initiatives/GnomeGoals/AppMenuRetirement is confirmed -->
diff --git a/src/meson.build b/src/meson.build
index eda7295a..da366109 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -24,6 +24,7 @@ gnome_calculator_deps = [
gobject,
gtk,
gtksourceview,
+ libhandy,
mpc,
mpfr,
posix,
@@ -40,6 +41,7 @@ gnome_calculator_vala_flags = [
gnome_calculator_c_flags = [
'-include', 'config.h',
+ '-DHANDY_USE_UNSTABLE_API',
]
gnome_calculator_includes = [
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]