From b3605bee34d6b62eb4e5057bbad40513bdc600df Mon Sep 17 00:00:00 2001 From: rbuj Date: Thu, 2 May 2019 12:21:04 +0200 Subject: Use gresources for UI files .ui files are combined into a binary resource bundle, and they are marked as compressed, so they will be automatically uncompressed when the resource is used. REF https://developer.gnome.org/gio/stable/GResource.html --- src/Makefile.am | 23 +- src/buttons-advanced.ui | 951 +++++++++++ src/buttons-basic.ui | 376 +++++ src/buttons-financial.ui | 2435 ++++++++++++++++++++++++++++ src/buttons-programming.ui | 2792 +++++++++++++++++++++++++++++++++ src/math-buttons.c | 20 +- src/math-preferences.c | 4 +- src/org.mate.calculator.gresource.xml | 26 + src/preferences.ui | 306 ++++ 9 files changed, 6918 insertions(+), 15 deletions(-) create mode 100644 src/buttons-advanced.ui create mode 100644 src/buttons-basic.ui create mode 100644 src/buttons-financial.ui create mode 100644 src/buttons-programming.ui create mode 100644 src/org.mate.calculator.gresource.xml create mode 100644 src/preferences.ui (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index e187118..b6690a1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,13 +4,18 @@ noinst_PROGRAMS = test-mp test-mp-equation TESTS = test-mp test-mp-equation AM_CPPFLAGS = \ - -DUI_DIR=\""$(datadir)/mate-calc"\" \ -DVERSION=\""$(VERSION)"\" \ -DLOCALE_DIR=\""$(localedir)"\" \ -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \ $(WARN_CFLAGS) \ $(MATE_CALC_CFLAGS) +BUILT_SOURCES = \ + mate-calc-resources.c \ + mate-calc-resources.h + +nodist_mate_calc_SOURCES= $(BUILT_SOURCES) + mate_calc_SOURCES = \ mate-calc.c \ currency.c \ @@ -151,7 +156,8 @@ test_mp_equation_LDADD = \ CLEANFILES = \ mp-enums.c \ - mp-enums.h + mp-enums.h \ + $(BUILT_SOURCES) # Generate enum types mp-enums.h: mp-enums.h.template mp-serializer.h @@ -164,6 +170,11 @@ mp-enums.c: mp-enums.c.template mp-enums.h mp-serializer.h math-serializer.c: mp-enums.h math-equation.c: mp-enums.h +# Generate resources +mate-calc-resources.h mate-calc-resources.c: org.mate.calculator.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/org.mate.calculator.gresource.xml) + $(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name calculator $< + + # Install a symlink between mate-calc and mate-calculator install-exec-hook: test -e "$(DESTDIR)$(bindir)/mate-calculator" \ @@ -175,8 +186,14 @@ uninstall-local: && rm -f "$(DESTDIR)$(bindir)/mate-calculator" EXTRA_DIST = \ + buttons-advanced.ui \ + buttons-basic.ui \ + buttons-financial.ui \ + buttons-programming.ui \ mp-enums.c.template \ - mp-enums.h.template + mp-enums.h.template \ + org.mate.calculator.gresource.xml \ + preferences.ui DISTCLEANFILES = \ Makefile.in diff --git a/src/buttons-advanced.ui b/src/buttons-advanced.ui new file mode 100644 index 0000000..a4b756b --- /dev/null +++ b/src/buttons-advanced.ui @@ -0,0 +1,951 @@ + + + + + + False + + + True + False + True + True + + + a×b + True + True + False + True + True + + + + Factorize + + + + + 5 + 4 + + + + + Im + True + True + False + True + True + + + + 7 + 4 + + + + + True + True + False + True + True + + + + True + False + <i>i</i> + True + + + + + 2 + 4 + + + + + 4 + True + True + False + True + True + + + + 0 + 2 + + + + + 7 + True + True + False + True + True + + + + 0 + 1 + + + + + 8 + True + True + False + True + True + + + + 1 + 1 + + + + + 9 + True + True + False + True + True + + + + 2 + 1 + + + + + 5 + True + True + False + True + True + + + + 1 + 2 + + + + + 6 + True + True + False + True + True + + + + 2 + 2 + + + + + ÷ + True + True + False + True + True + + + + 3 + 1 + + + + + 2 + True + True + False + True + True + + + + 1 + 3 + + + + + . + True + True + False + True + True + + + + 1 + 4 + + + + + 3 + True + True + False + True + True + + + + 2 + 3 + + + + + × + True + True + False + True + True + + + + 3 + 2 + + + + + + True + True + False + True + True + + + + 3 + 3 + + + + + + + True + True + False + True + True + + + + 3 + 4 + + + + + = + True + True + False + True + True + + + + 4 + 4 + + + + + Clear + True + True + False + True + + + + 5 + 0 + + + + + True + True + False + True + True + + + + True + False + ×10<sup><i>y</i></sup> + True + + + + + Scientific Exponent + + + + + 2 + 0 + + + + + mod + True + True + False + True + True + + + + 3 + 0 + + + + + ( + True + True + False + True + True + + + + 4 + 1 + + + + + ) + True + True + False + True + True + + + + 5 + 1 + + + + + True + True + False + True + + + + True + False + + + True + False + x + + + + + + True + True + 0 + + + + + True + False + down + + + False + True + 1 + + + + + + + Memory + + + + + 4 + 2 + 2 + + + + + Re + True + True + False + True + True + + + + 6 + 4 + + + + + conj + True + True + False + True + True + + + + 8 + 4 + + + + + ln + True + True + False + True + True + + + + 9 + 3 + + + + + log + True + True + False + True + + + + 8 + 3 + + + + + True + True + False + True + + + + True + False + <i>x</i><sup><i>y</i></sup> + True + + + + + Exponent + + + + + 6 + 3 + + + + + + True + True + False + True + True + + + + 7 + 3 + + + + + Undo + True + True + False + True + + + + 4 + 0 + + + + + True + True + False + True + True + + + + True + False + π + True + + + + + 4 + 3 + + + + + True + True + False + True + True + + + + True + False + <i>e</i> + True + + + + + 5 + 3 + + + + + True + False + True + True + + + cos + True + True + False + True + + + + 0 + 0 + + + + + sin + True + True + False + True + + + + 1 + 0 + + + + + tan + True + True + False + True + + + + 2 + 0 + + + + + sinh + True + True + False + True + + + + 1 + 1 + + + + + tanh + True + True + False + True + + + + 2 + 1 + + + + + asin + True + True + False + True + + + + 1 + 2 + + + + + atan + True + True + False + True + + + + 2 + 2 + + + + + cosh + True + True + False + True + + + + 0 + 1 + + + + + acos + True + True + False + True + + + + 0 + 2 + + + + + 6 + 0 + 4 + 3 + + + + + True + True + False + True + + + + True + False + + + True + False + f(x) + + + True + True + 0 + + + + + True + False + down + + + False + True + 1 + + + + + + + Store + + + + + 9 + 4 + + + + + True + True + False + True + + + + True + False + <i>x</i><sup>−1</sup> + True + center + + + + + Inverse + + + + + 10 + 1 + + + + + True + True + False + True + + + + True + False + <i>x</i>! + True + + + + + Factorial + + + + + 10 + 2 + + + + + True + True + False + True + True + + + + True + False + |<i>x</i>| + True + + + + + Absolute Value + + + + + 10 + 3 + + + + + Arg + True + True + False + True + True + + + + 10 + 4 + + + + + True + True + False + True + + + + True + False + ↑n + True + + + + + Superscript + + + + + 1 + 0 + + + + + True + True + False + True + + + + True + False + ↓n + True + + + + + Subscript + + + + + 0 + 0 + + + + + 1 + True + True + False + True + True + + + + 0 + 3 + + + + + 0 + 50 + True + True + False + True + True + + + + 0 + 4 + + + + + + + + + + + + diff --git a/src/buttons-basic.ui b/src/buttons-basic.ui new file mode 100644 index 0000000..387b590 --- /dev/null +++ b/src/buttons-basic.ui @@ -0,0 +1,376 @@ + + + + + + False + + + True + False + True + True + + + 4 + True + True + False + False + True + + + + 0 + 1 + + + + + 8 + True + True + False + False + True + + + + 1 + 0 + + + + + 9 + True + True + False + False + True + + + + 2 + 0 + + + + + 5 + True + True + False + False + True + + + + 1 + 1 + + + + + 6 + True + True + False + False + True + + + + 2 + 1 + + + + + ÷ + True + True + False + False + True + + + + 3 + 0 + + + + + 2 + True + True + False + False + True + + + + 1 + 2 + + + + + . + True + True + False + False + True + + + + 1 + 3 + + + + + % + True + True + False + True + True + + + + 2 + 3 + + + + + 3 + True + True + False + False + True + + + + 2 + 2 + + + + + × + True + True + False + False + True + + + + 3 + 1 + + + + + + True + True + False + False + True + + + + 3 + 2 + + + + + + + True + True + False + False + True + + + + 3 + 3 + + + + + = + True + True + False + False + True + + + + 4 + 3 + 2 + + + + + ( + True + True + False + True + True + + + + 4 + 1 + + + + + ) + True + True + False + True + True + + + + 5 + 1 + + + + + Clear + True + True + False + True + + + + 5 + 0 + + + + + + True + True + False + True + True + + + + 5 + 2 + + + + + Undo + True + True + False + True + True + + + + 4 + 0 + + + + + 7 + True + True + False + False + True + + + + 0 + 0 + + + + + True + True + False + True + + + + True + False + <i>x</i><sup><i>2</i></sup> + True + + + + + Exponent + + + + + 4 + 2 + + + + + 1 + True + True + False + False + True + + + + 0 + 2 + + + + + 0 + 50 + True + True + False + False + True + + + + 0 + 3 + + + + + + + + + diff --git a/src/buttons-financial.ui b/src/buttons-financial.ui new file mode 100644 index 0000000..d0a775e --- /dev/null +++ b/src/buttons-financial.ui @@ -0,0 +1,2435 @@ + + + + + + False + 6 + Compounding Term + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + False + 35 + 35 + Calculates the number of compounding periods necessary to increase an investment of present value to a future value, at a fixed interest rate per compounding period. + True + 40 + + + 0 + 0 + 2 + + + + + True + False + Periodic Interest _Rate: + True + ctrm_pint + 0 + + + 0 + 1 + + + + + True + False + _Future Value: + True + ctrm_fv + 0 + + + 0 + 2 + + + + + True + False + Present _Value: + True + ctrm_pv + 0 + + + 0 + 3 + + + + + True + True + 1 + + + + + + button1 + button2 + + + + False + 6 + Double-Declining Depreciation + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + 35 + 35 + Calculates the depreciation allowance on an asset for a specified period of time, using the double-declining balance method. + True + 40 + + + 0 + 0 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + False + _Life: + True + ddb_life + 0 + + + 0 + 2 + + + + + True + False + _Period: + True + ddb_period + 0 + + + 0 + 3 + + + + + True + False + C_ost: + True + ddb_cost + 0 + + + 0 + 1 + + + + + True + True + 1 + + + + + + button3 + button4 + + + + False + 6 + Future Value + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + False + Periodic Interest _Rate: + True + fv_pint + 0 + + + 0 + 2 + + + + + True + False + _Number of Periods: + True + fv_n + 0 + + + 0 + 3 + + + + + True + False + 35 + 35 + Calculates the future value of an investment based on a series of equal payments at a periodic interest rate over the number of payment periods in the term. + True + 40 + + + 0 + 0 + 2 + + + + + True + False + _Periodic Payment: + True + fv_pmt + 0 + + + 0 + 1 + + + + + True + True + 1 + + + + + + button5 + button6 + + + + False + 6 + Gross Profit Margin + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + 35 + 35 + Calculates the resale price of a product, based on the product cost and the wanted gross profit margin. + True + 40 + + + 0 + 0 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + False + C_ost: + True + gpm_cost + 0 + + + 0 + 1 + + + + + True + False + _Margin: + True + 0 + + + 0 + 2 + + + + + True + True + 1 + + + + + + button19 + button20 + + + + False + 6 + Periodic Payment + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + 35 + 35 + Calculates the amount of the periodic payment of a loan, where payments are made at the end of each payment period. + True + 40 + 0 + + + 0 + 0 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + False + _Term: + True + pmt_n + 0 + + + 0 + 3 + + + + + True + False + Periodic Interest _Rate: + True + pmt_pint + 0 + + + 0 + 2 + + + + + True + False + _Principal: + True + pmt_prin + 0 + + + 0 + 1 + + + + + True + True + 1 + + + + + + button7 + button8 + + + + False + 6 + Present Value + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + 35 + 35 + Calculates the present value of an investment based on a series of equal payments discounted at a periodic interest rate over the number of payment periods in the term. + True + 40 + 0 + + + 0 + 0 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + False + _Number of Periods: + True + pv_n + 0 + + + 0 + 3 + + + + + True + False + Periodic Interest _Rate: + True + pv_pint + 0 + + + 0 + 2 + + + + + True + False + _Periodic Payment: + True + pv_pmt + 0 + + + 0 + 1 + + + + + True + True + 1 + + + + + + button9 + button10 + + + + False + 6 + Periodic Interest Rate + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + 35 + 35 + Calculates the periodic interest necessary to increase an investment to a future value, over the number of compounding periods. + True + 40 + 0 + + + 0 + 0 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + False + Present _Value: + True + rate_pv + 0 + + + 0 + 2 + + + + + True + False + _Term: + True + rate_n + 0 + + + 0 + 3 + + + + + True + False + _Future Value: + True + rate_fv + 0 + + + 0 + 1 + + + + + True + True + 1 + + + + + + button11 + button12 + + + + False + 6 + Straight-Line Depreciation + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + _Cost: + True + sln_cost + 0 + + + 0 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + False + _Life: + True + sln_life + 0 + + + 0 + 3 + + + + + True + False + _Salvage: + True + sln_salvage + 0 + + + 0 + 2 + + + + + True + False + 35 + 35 + Calculates the straight-line depreciation of an asset for one period. The straight-line method of depreciation divides the depreciable cost evenly over the useful life of an asset. The useful life is the number of periods, typically years, over which an asset is depreciated. + True + 40 + 0 + + + 0 + 0 + 2 + + + + + True + True + 1 + + + + + + button13 + button14 + + + + False + 6 + Sum-of-the-Years'-Digits Depreciation + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + False + _Period: + True + syd_period + 0 + + + 0 + 4 + + + + + True + False + _Life: + True + syd_life + 0 + + + 0 + 3 + + + + + True + False + _Salvage: + True + syd_salvage + 0 + + + 0 + 2 + + + + + True + False + _Cost: + True + syd_cost + 0 + + + 0 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + True + + 0 + False + False + + + + 1 + 4 + + + + + True + False + 35 + 35 + Calculates the depreciation allowance on an asset for a specified period of time, using the Sum-of-the-Years'-Digits method. This method of depreciation accelerates the rate of depreciation, so that more depreciation expense occurs in earlier periods than in later ones. The useful life is the number of periods, typically years, over which an asset is depreciated. + True + 40 + 0 + + + 0 + 0 + 2 + + + + + True + True + 1 + + + + + + button15 + button16 + + + + False + 6 + Payment Period + False + dialog + accessories-calculator + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + False + True + + + False + False + 0 + + + + + C_alculate + True + True + True + False + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 6 + 6 + 6 + + + True + True + + 0 + False + False + + + + 1 + 3 + + + + + True + True + + 0 + False + False + + + + 1 + 2 + + + + + True + True + + 0 + False + False + + + + 1 + 1 + + + + + True + False + _Periodic Payment: + True + term_pmt + 0 + + + 0 + 1 + + + + + True + False + Future _Value: + True + term_fv + 0 + + + 0 + 2 + + + + + True + False + Periodic Interest _Rate: + True + term_pint + 0 + + + 0 + 3 + + + + + True + False + 35 + 35 + Calculates the number of payment periods that are necessary during the term of an ordinary annuity, to accumulate a future value, at a periodic interest rate. + True + 40 + 0 + + + 0 + 0 + 2 + + + + + True + True + 1 + + + + + + button17 + button18 + + + + False + + + + + + True + False + True + True + + + True + True + False + True + + + + True + False + 3 + + + True + False + x + + + + + + True + True + 0 + + + + + True + False + down + + + False + True + 1 + + + + + + + Memory + + + + + 4 + 2 + 2 + + + + + log + True + True + False + True + + + + 6 + 2 + + + + + 8 + True + True + False + True + True + + + + 1 + 0 + + + + + 9 + True + True + False + True + True + + + + 2 + 0 + + + + + 5 + True + True + False + True + True + + + + 1 + 1 + + + + + 6 + True + True + False + True + True + + + + 2 + 1 + + + + + ÷ + True + True + False + True + True + + + + 3 + 0 + + + + + 2 + True + True + False + True + True + + + + 1 + 2 + + + + + . + True + True + False + True + True + + + + 1 + 3 + + + + + % + True + True + False + True + True + + + + 2 + 3 + + + + + 3 + True + True + False + True + True + + + + 2 + 2 + + + + + × + True + True + False + True + True + + + + 3 + 1 + + + + + + True + True + False + True + True + + + + 3 + 2 + + + + + + + True + True + False + True + True + + + + 3 + 3 + + + + + = + True + True + False + True + True + + + + 4 + 3 + 2 + + + + + ( + True + True + False + True + True + + + + 4 + 1 + + + + + ) + True + True + False + True + True + + + + 5 + 1 + + + + + Clear + True + True + False + True + + + + 5 + 0 + + + + + Ctrm + True + True + False + True + True + + + + 7 + 0 + + + + + Ddb + True + True + False + True + True + + + + 8 + 0 + + + + + Fv + True + True + False + True + True + + + + 9 + 0 + + + + + Term + True + True + False + True + True + + + + 8 + 3 + + + + + Syd + True + True + False + True + True + + + + 9 + 2 + + + + + Sln + True + True + False + True + True + + + + 8 + 2 + + + + + Rate + True + True + False + True + True + + + + 7 + 2 + + + + + Pv + True + True + False + True + True + + + + 9 + 1 + + + + + Pmt + True + True + False + True + True + + + + 8 + 1 + + + + + Gpm + True + True + False + True + True + + + + 7 + 1 + + + + + True + True + False + True + + + + True + False + <i>x</i><sup><i>y</i></sup> + True + + + + + Exponent + + + + + 6 + 0 + + + + + + True + True + False + True + True + + + + 6 + 1 + + + + + Undo + True + True + False + True + + + 4 + 0 + + + + + 7 + True + True + False + True + True + + + + 0 + 0 + + + + + 4 + True + True + False + True + True + + + + 0 + 1 + + + + + 1 + True + True + False + True + True + + + + 0 + 2 + + + + + 0 + 50 + True + True + False + True + True + + + + 0 + 3 + + + + + + + + + + + + + + + diff --git a/src/buttons-programming.ui b/src/buttons-programming.ui new file mode 100644 index 0000000..71d5c4e --- /dev/null +++ b/src/buttons-programming.ui @@ -0,0 +1,2792 @@ + + + + + + False + 6 + Insert Character Code + False + dialog + accessories-calculator + + + + + + + + True + False + vertical + + + True + False + end + + + _Cancel + True + True + True + True + True + + + False + False + 0 + + + + + _Insert + True + True + True + True + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + False + 5 + + + True + False + Ch_aracter: + True + character_code_entry + + + False + False + 0 + + + + + True + True + 1 + + False + False + + + + False + False + 1 + + + + + True + True + 1 + + + + + + button9 + button8 + + + + False + + + + + + True + False + vertical + 6 + + + True + False + 6 + + + True + False + False + + + False + True + 0 + + + + + True + False + FF₁₆ 256₁₀ + 1 + + + True + True + 1 + + + + + False + True + 0 + + + + + True + False + 0 + 0 + + + True + False + + + True + False + + + + True + False + 0 + 0 + + + + + 1 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 2 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 3 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 5 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 6 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 7 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 8 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 10 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 11 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 12 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 13 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 15 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 16 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 17 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 18 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 38 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 37 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 36 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 35 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 33 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 32 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 31 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 30 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 28 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 27 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 26 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 25 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 23 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 22 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 21 + 0 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 20 + 0 + + + + + True + False + 32 + center + 0 + + + 38 + 1 + + + + + True + False + 0 + center + 0 + + + 38 + 3 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 1 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 2 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 3 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 5 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 6 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 7 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 8 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 10 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 11 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 12 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 13 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 15 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 16 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 17 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 18 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 20 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 21 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 22 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 23 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 25 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 26 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 27 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 28 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 30 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 31 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 32 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 33 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 35 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 36 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 37 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 38 + 2 + + + + + True + False + 47 + center + 0 + + + 20 + 1 + + + + + True + False + 15 + center + 0 + + + 20 + 3 + + + + + True + False + + 0 + + + 4 + 0 + + + + + True + False + + 0 + + + 9 + 0 + + + + + True + False + + 0 + + + 14 + 0 + + + + + True + False + + 0 + + + 19 + 0 + + + + + True + False + + 0 + + + 24 + 0 + + + + + True + False + + 0 + + + 29 + 0 + + + + + True + False + + 0 + + + 34 + 0 + + + + + True + False + + 0 + + + 4 + 2 + + + + + True + False + + 0 + + + 9 + 2 + + + + + True + False + + 0 + + + 14 + 2 + + + + + True + False + + 0 + + + 19 + 2 + + + + + True + False + + 0 + + + 24 + 2 + + + + + True + False + + 0 + + + 29 + 2 + + + + + True + False + + 0 + + + 34 + 2 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 0 + 0 + + + + + True + False + 63 + center + 0 + + + 0 + 1 + + + + + True + False + 31 + center + 0 + + + 0 + 3 + + + + + True + False + + + + True + False + 0 + 0 + + + + + 0 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + True + 1 + + + + + True + False + True + True + + + + True + True + False + True + True + + + + 7 + 2 + + + + + log + True + True + False + True + + + + 7 + 3 + + + + + fact + True + True + False + True + True + + + + Factorize + + + + + 7 + 4 + + + + + ln + True + True + False + True + True + + + + 8 + 3 + + + + + True + True + False + True + True + + + + True + False + |<i>x</i>| + True + + + + + Absolute Value + + + + + 9 + 1 + + + + + int + True + True + False + True + True + + + + 9 + 3 + + + + + frac + True + True + False + True + True + + + + 9 + 4 + + + + + ÷ + True + True + False + True + True + + + + 4 + 1 + + + + + × + True + True + False + True + True + + + + 4 + 2 + + + + + + True + True + False + True + True + + + + 4 + 3 + + + + + + + True + True + False + True + True + + + + 4 + 4 + + + + + = + True + True + False + True + True + + + + 6 + 4 + + + + + Clear + True + True + False + True + True + + + + 6 + 3 + + + + + 1 + True + True + False + True + True + + + + 1 + 4 + + + + + 2 + True + True + False + True + True + + + + 2 + 4 + + + + + 3 + True + True + False + True + True + + + + 3 + 4 + + + + + 5 + True + True + False + True + True + + + + 1 + 3 + + + + + 6 + True + True + False + True + True + + + + 2 + 3 + + + + + 7 + True + True + False + True + True + + + + 3 + 3 + + + + + 9 + True + True + False + True + True + + + + 1 + 2 + + + + + A + True + True + False + True + True + + + + 2 + 2 + + + + + B + True + True + False + True + True + + + + 3 + 2 + + + + + D + True + True + False + True + True + + + + 1 + 1 + + + + + E + True + True + False + True + True + + + + 2 + 1 + + + + + F + True + True + False + True + True + + + + 3 + 1 + + + + + True + True + False + True + + + + True + False + ↑n + True + + + + + Superscript + + + + + 1 + 0 + + + + + . + True + True + False + True + True + + + + 2 + 0 + + + + + True + True + False + True + + + + True + False + 3 + + + True + False + x + + + True + True + 0 + + + + + True + False + down + + + False + True + 1 + + + + + + + Store + + + + + 3 + 0 + + + + + XOR + True + True + False + True + True + + + + 5 + 4 + + + + + OR + True + True + False + True + True + + + + 5 + 3 + + + + + AND + True + True + False + True + True + + + + 5 + 2 + + + + + mod + True + True + False + True + True + + + + 5 + 1 + + + + + ( + True + True + False + True + True + + + + 4 + 0 + + + + + ) + True + True + False + True + True + + + + 5 + 0 + + + + + True + True + False + True + + + + True + False + 3 + + + True + True + < + + + True + True + 0 + + + + + True + False + down + + + False + True + 1 + + + + + + + Shift Left + + + + + 6 + 0 + + + + + True + True + False + True + + + + True + False + 3 + + + True + True + > + + + True + True + 0 + + + + + True + False + down + + + False + True + 1 + + + + + + + Shift Right + + + + + 7 + 0 + + + + + á + True + True + False + True + + + + Insert Character + + + + + 8 + 0 + + + + + NOT + True + True + False + True + True + + + + 6 + 2 + + + + + True + True + False + True + + + + True + False + <i>x</i>! + True + + + + + Factorial + + + + + 8 + 4 + + + + + True + True + False + True + + + + True + False + <i>x</i><sup>−1</sup> + True + center + + + + + Inverse + + + + + 9 + 2 + + + + + True + True + False + True + + + + True + False + <i>x</i><sup><i>y</i></sup> + True + + + + + Exponent + + + + + 8 + 2 + + + + + ones + True + True + False + True + True + + + + 6 + 1 + + + + + twos + True + True + False + True + True + + + + 7 + 1 + + + + + trunc + True + True + False + True + True + + + + 8 + 1 + + + + + True + True + False + True + + + + True + False + ↓n + True + + + + + Subscript + + + + + 0 + 0 + + + + + C + True + True + False + True + True + + + + 0 + 1 + + + + + 8 + True + True + False + True + True + + + + 0 + 2 + + + + + 4 + True + True + False + True + True + + + + 0 + 3 + + + + + 0 + 50 + True + True + False + True + True + + + + 0 + 4 + + + + + + + + True + True + 2 + + + + + + diff --git a/src/math-buttons.c b/src/math-buttons.c index a97d6ee..50b15a7 100644 --- a/src/math-buttons.c +++ b/src/math-buttons.c @@ -60,10 +60,10 @@ struct MathButtonsPrivate G_DEFINE_TYPE_WITH_PRIVATE (MathButtons, math_buttons, GTK_TYPE_BOX); -#define UI_BASIC_FILE UI_DIR "/buttons-basic.ui" -#define UI_ADVANCED_FILE UI_DIR "/buttons-advanced.ui" -#define UI_FINANCIAL_FILE UI_DIR "/buttons-financial.ui" -#define UI_PROGRAMMING_FILE UI_DIR "/buttons-programming.ui" +#define UI_BASIC_RESOURCE_PATH "/org/mate/calculator/ui/buttons-basic.ui" +#define UI_ADVANCED_RESOURCE_PATH "/org/mate/calculator/ui/buttons-advanced.ui" +#define UI_FINANCIAL_RESOURCE_PATH "/org/mate/calculator/ui/buttons-financial.ui" +#define UI_PROGRAMMING_RESOURCE_PATH "/org/mate/calculator/ui/buttons-programming.ui" #define GET_WIDGET(ui, name) \ GTK_WIDGET(gtk_builder_get_object((ui), (name))) @@ -478,7 +478,7 @@ load_mode(MathButtons *buttons, ButtonMode mode) GtkBuilder *builder, **builder_ptr; gint i; gchar *name; - const gchar *builder_file; + const gchar *path; static gchar *objects[] = { "button_panel", "character_code_dialog", "currency_dialog", "ctrm_dialog", "ddb_dialog", "fv_dialog", "gpm_dialog", "pmt_dialog", "pv_dialog", "rate_dialog", "sln_dialog", @@ -490,22 +490,22 @@ load_mode(MathButtons *buttons, ButtonMode mode) default: case BASIC: builder_ptr = &buttons->priv->basic_ui; - builder_file = UI_BASIC_FILE; + path = UI_BASIC_RESOURCE_PATH; panel = &buttons->priv->bas_panel; break; case ADVANCED: builder_ptr = &buttons->priv->advanced_ui; - builder_file = UI_ADVANCED_FILE; + path = UI_ADVANCED_RESOURCE_PATH; panel = &buttons->priv->adv_panel; break; case FINANCIAL: builder_ptr = &buttons->priv->financial_ui; - builder_file = UI_FINANCIAL_FILE; + path = UI_FINANCIAL_RESOURCE_PATH; panel = &buttons->priv->fin_panel; break; case PROGRAMMING: builder_ptr = &buttons->priv->programming_ui; - builder_file = UI_PROGRAMMING_FILE; + path = UI_PROGRAMMING_RESOURCE_PATH; panel = &buttons->priv->prog_panel; break; } @@ -515,7 +515,7 @@ load_mode(MathButtons *buttons, ButtonMode mode) builder = *builder_ptr = gtk_builder_new(); // FIXME: Show dialog if failed to load - gtk_builder_add_objects_from_file(builder, builder_file, objects, &error); + gtk_builder_add_objects_from_resource(builder, path, objects, &error); if (error) { g_warning("Error loading button UI: %s", error->message); g_clear_error(&error); diff --git a/src/math-preferences.c b/src/math-preferences.c index 1ba91cc..adbd58e 100644 --- a/src/math-preferences.c +++ b/src/math-preferences.c @@ -28,7 +28,7 @@ struct MathPreferencesDialogPrivate G_DEFINE_TYPE_WITH_PRIVATE (MathPreferencesDialog, math_preferences, GTK_TYPE_DIALOG); -#define UI_DIALOGS_FILE UI_DIR "/preferences.ui" +#define UI_DIALOGS_RESOURCE_PATH "/org/mate/calculator/ui/preferences.ui" #define GET_WIDGET(ui, name) \ GTK_WIDGET(gtk_builder_get_object(ui, name)) @@ -229,7 +229,7 @@ create_gui(MathPreferencesDialog *dialog) // FIXME: Handle errors dialog->priv->ui = gtk_builder_new(); - gtk_builder_add_objects_from_file(dialog->priv->ui, UI_DIALOGS_FILE, objects, &error); + gtk_builder_add_objects_from_resource(dialog->priv->ui, UI_DIALOGS_RESOURCE_PATH, objects, &error); if (error) g_warning("Error loading preferences UI: %s", error->message); g_clear_error(&error); diff --git a/src/org.mate.calculator.gresource.xml b/src/org.mate.calculator.gresource.xml new file mode 100644 index 0000000..c31c1ba --- /dev/null +++ b/src/org.mate.calculator.gresource.xml @@ -0,0 +1,26 @@ + + + + + buttons-advanced.ui + buttons-basic.ui + buttons-financial.ui + buttons-programming.ui + preferences.ui + + diff --git a/src/preferences.ui b/src/preferences.ui new file mode 100644 index 0000000..56635b4 --- /dev/null +++ b/src/preferences.ui @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + 15 + 1 + 1 + + + True + False + window-close + + + + + + + + + + + + + + + + + + + 8-bit + 8 + + + 16-bit + 16 + + + 32-bit + 32 + + + 64-bit + 64 + + + + + False + 8 + Preferences + normal + + + + + + + + True + False + vertical + 5 + + + True + False + end + + + _Close + True + True + True + image1 + True + + + False + False + 0 + + + + + False + False + end + 0 + + + + + True + False + 5 + 12 + 6 + + + True + False + _Angle units: + True + angle_unit_combobox + 0 + + + 0 + 2 + + + + + True + False + Number _Format: + True + number_format_combobox + 0 + + + 0 + 0 + + + + + True + False + angle_unit_model + + + + 1 + 2 + + + + + True + False + number_format_model + + + + 1 + 0 + + + + + True + False + word_size_model + + + + 1 + 3 + + + + + True + False + Word _size: + True + word_size_combobox + 0 + + + 0 + 3 + + + + + True + False + 6 + 12 + + + True + False + 6 + + + Show trailing _zeroes + True + True + False + start + True + True + + + + 0 + 1 + + + + + Show _thousands separators + True + True + False + start + True + True + + + + 0 + 2 + + + + + True + False + 6 + + + True + False + Show + True + decimal_places_spin + 0 + + + False + True + 0 + + + + + True + True + + decimal_places_adjustment + + + + False + True + 1 + + + + + True + False + decimal _places + True + decimal_places_spin + 0 + + + True + True + 2 + + + + + 0 + 0 + + + + + + + 0 + 1 + 2 + + + + + False + True + 1 + + + + + + button1 + + + -- cgit v1.2.1