diff --git a/android-app-core/pom.xml b/android-app-core/pom.xml
index 1657f0aa..6a172078 100644
--- a/android-app-core/pom.xml
+++ b/android-app-core/pom.xml
@@ -5,12 +5,12 @@
org.solovyev.android
calculatorpp-parent
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
org.solovyev.android
calculatorpp-android-app-core
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
Calculator++ Application Core
apklib
diff --git a/android-app-core/res/drawable-hdpi/kb_erase.png b/android-app-core/res/drawable-hdpi/kb_erase.png
index ae6ac20d..eb5a4b40 100644
Binary files a/android-app-core/res/drawable-hdpi/kb_erase.png and b/android-app-core/res/drawable-hdpi/kb_erase.png differ
diff --git a/android-app-core/res/drawable-hdpi/kb_facebook.png b/android-app-core/res/drawable-hdpi/kb_facebook.png
deleted file mode 100644
index 6af63acf..00000000
Binary files a/android-app-core/res/drawable-hdpi/kb_facebook.png and /dev/null differ
diff --git a/android-app-core/res/drawable-hdpi/kb_menu.png b/android-app-core/res/drawable-hdpi/kb_menu.png
index 400c51e1..fc4e83f5 100644
Binary files a/android-app-core/res/drawable-hdpi/kb_menu.png and b/android-app-core/res/drawable-hdpi/kb_menu.png differ
diff --git a/android-app-core/res/drawable-hdpi/kb_range.png b/android-app-core/res/drawable-hdpi/kb_range.png
new file mode 100644
index 00000000..e2342e06
Binary files /dev/null and b/android-app-core/res/drawable-hdpi/kb_range.png differ
diff --git a/android-app-core/res/drawable-hdpi/kb_stats_3d.png b/android-app-core/res/drawable-hdpi/kb_stats_3d.png
new file mode 100644
index 00000000..90ead82a
Binary files /dev/null and b/android-app-core/res/drawable-hdpi/kb_stats_3d.png differ
diff --git a/android-app-core/res/drawable-ldpi/kb_facebook.png b/android-app-core/res/drawable-ldpi/kb_facebook.png
deleted file mode 100644
index bb6591ff..00000000
Binary files a/android-app-core/res/drawable-ldpi/kb_facebook.png and /dev/null differ
diff --git a/android-app-core/res/drawable-mdpi/kb_erase.png b/android-app-core/res/drawable-mdpi/kb_erase.png
index 0cb38038..f15a9842 100644
Binary files a/android-app-core/res/drawable-mdpi/kb_erase.png and b/android-app-core/res/drawable-mdpi/kb_erase.png differ
diff --git a/android-app-core/res/drawable-mdpi/kb_facebook.png b/android-app-core/res/drawable-mdpi/kb_facebook.png
deleted file mode 100644
index 194c8425..00000000
Binary files a/android-app-core/res/drawable-mdpi/kb_facebook.png and /dev/null differ
diff --git a/android-app-core/res/drawable-mdpi/kb_menu.png b/android-app-core/res/drawable-mdpi/kb_menu.png
index c57c54c8..33eabf6c 100644
Binary files a/android-app-core/res/drawable-mdpi/kb_menu.png and b/android-app-core/res/drawable-mdpi/kb_menu.png differ
diff --git a/android-app-core/res/drawable-mdpi/kb_range.png b/android-app-core/res/drawable-mdpi/kb_range.png
new file mode 100644
index 00000000..a43e43d8
Binary files /dev/null and b/android-app-core/res/drawable-mdpi/kb_range.png differ
diff --git a/android-app-core/res/drawable-mdpi/kb_stats_3d.png b/android-app-core/res/drawable-mdpi/kb_stats_3d.png
new file mode 100644
index 00000000..6a051a44
Binary files /dev/null and b/android-app-core/res/drawable-mdpi/kb_stats_3d.png differ
diff --git a/android-app-core/res/drawable-xhdpi/kb_erase.png b/android-app-core/res/drawable-xhdpi/kb_erase.png
index 0f0c695c..8c4b099d 100644
Binary files a/android-app-core/res/drawable-xhdpi/kb_erase.png and b/android-app-core/res/drawable-xhdpi/kb_erase.png differ
diff --git a/android-app-core/res/drawable-xhdpi/kb_facebook.png b/android-app-core/res/drawable-xhdpi/kb_facebook.png
deleted file mode 100644
index 8555071e..00000000
Binary files a/android-app-core/res/drawable-xhdpi/kb_facebook.png and /dev/null differ
diff --git a/android-app-core/res/drawable-xhdpi/kb_menu.png b/android-app-core/res/drawable-xhdpi/kb_menu.png
index affa41bb..f6cef723 100644
Binary files a/android-app-core/res/drawable-xhdpi/kb_menu.png and b/android-app-core/res/drawable-xhdpi/kb_menu.png differ
diff --git a/android-app-core/res/drawable-xhdpi/kb_range.png b/android-app-core/res/drawable-xhdpi/kb_range.png
new file mode 100644
index 00000000..f03ac303
Binary files /dev/null and b/android-app-core/res/drawable-xhdpi/kb_range.png differ
diff --git a/android-app-core/res/drawable-xhdpi/kb_stats_3d.png b/android-app-core/res/drawable-xhdpi/kb_stats_3d.png
new file mode 100644
index 00000000..b0a08489
Binary files /dev/null and b/android-app-core/res/drawable-xhdpi/kb_stats_3d.png differ
diff --git a/android-app-core/res/drawable-xlarge-hdpi/kb_facebook.png b/android-app-core/res/drawable-xlarge-hdpi/kb_facebook.png
deleted file mode 100644
index 8555071e..00000000
Binary files a/android-app-core/res/drawable-xlarge-hdpi/kb_facebook.png and /dev/null differ
diff --git a/android-app-core/res/layout/cpp_simple_button_like.xml b/android-app-core/res/layout/cpp_simple_button_like.xml
index 235bad53..7c6ea811 100644
--- a/android-app-core/res/layout/cpp_simple_button_like.xml
+++ b/android-app-core/res/layout/cpp_simple_button_like.xml
@@ -24,6 +24,6 @@
\ No newline at end of file
diff --git a/android-app-core/res/layout/cpp_simple_button_operators.xml b/android-app-core/res/layout/cpp_simple_button_operators.xml
new file mode 100644
index 00000000..ca9af29a
--- /dev/null
+++ b/android-app-core/res/layout/cpp_simple_button_operators.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/android-app-core/res/layout/cpp_simple_keyboard.xml b/android-app-core/res/layout/cpp_simple_keyboard.xml
index f8d83c21..a964a801 100644
--- a/android-app-core/res/layout/cpp_simple_keyboard.xml
+++ b/android-app-core/res/layout/cpp_simple_keyboard.xml
@@ -78,7 +78,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
diff --git a/android-app-core/res/values-de/text_vars.xml b/android-app-core/res/values-de/text_vars.xml
index 7b0f40b1..ae213e5e 100644
--- a/android-app-core/res/values-de/text_vars.xml
+++ b/android-app-core/res/values-de/text_vars.xml
@@ -5,7 +5,7 @@
Das Verhältnis von Kreisumfang zu Durchmesser. Hinweis: diese Konstante ist gradunabhängig = > rad: 3,14, deg: 3.14
Besondere reelle Zahl, so dass der Wert der Ableitung (die Steigung der Tangente) der Funktion f(x) = e ^ X an der Stelle X = 0 gleich 1 ist
Imaginäre Einheit, die definiert ist, so dass i ^ 2 =-1
- Lichtgeschwindigkeit im Vakuum, M·s
+ Lichtgeschwindigkeit im Vakuum, M·s ^-1
Die Gravitationskonstante ist eine empirische physikalische Konstante, die bei der Berechnung der Massenanziehung zwischen Objekten mit Masse, m ^ 3·kg ^ −1·s ^ −2 gilt
Physikalische Konstante gibt die Größe der Energie Quanten in der Quantenmechanik an, J·s
Verringerte Planck Konstante, J·s
diff --git a/android-app-core/res/values-es/text_about.xml b/android-app-core/res/values-es/text_about.xml
index 58c2198f..eab055f7 100644
--- a/android-app-core/res/values-es/text_about.xml
+++ b/android-app-core/res/values-es/text_about.xml
@@ -2,23 +2,23 @@
Acerca de
- Copyright © 2009–2013\n\nCreado por serso "aka" se.solovyev\n\n
- Visítanos en Facebook: http://facebook.com/calculatorpp\n\n
- Este programa está distribuido bajo licencia Apache 2.0:\nPuede encontrar el código fuente en\n
+ Copyright © 2009–2013\n\nCreated by serso aka se.solovyev\n\n
+ We are on Facebook: http://facebook.com/calculatorpp\n\n
+ This program is distributed under Apache 2.0 License:\nsource code can be found on\n
http://github.com\n\n
- Para más información, por favor,\ncontacte con el autor mediante correo electrónico\n
+ For more information please\ncontact the author by email\n
se.solovyev@gmail.com
- \no visite\nhttp://se.solovyev.org\n\n
- Si deseas apoyar el proyecto\npuedes donar desde las preferencias de la aplicación, en la opción especial habilitada para ello\n\n
- Si te gusta la aplicación\nValórala con 5 estrellas en\n
+ \nor visit\nhttp://se.solovyev.org\n\n
+ If you want to support the project\nyou can buy a special option from application preferences\n\n
+ If you like the application\nrate it with 5 stars on\n
Google Play\n\n
- Ésta aplicación utiliza las siguientes librerías de código abierto:\n
+ This application uses next open source libraries:\n
Simple (XML serialization)\n
JSCL
- Está aplicación ha sido traducida al español por:
- Enrique Menéndez
- Notas de la versión
- "Notas para la versión "
+ This app is translated to Spanish by:
+
+ Release notes
+ "Release notes for version "
http://www.facebook.com/calculatorpp
diff --git a/android-app-core/res/values-es/text_functions.xml b/android-app-core/res/values-es/text_functions.xml
index 358d12c3..598d489a 100644
--- a/android-app-core/res/values-es/text_functions.xml
+++ b/android-app-core/res/values-es/text_functions.xml
@@ -6,29 +6,44 @@
Función trigonométrica coseno
Función trigonométrica tangente
Función trigonométrica cotangente
- Arcoseno - función inversa del seno
- Arcocoseno - función inversa del coseno
- Arcotangente - función inversa de la tangente
- Arcocotangente - función inversa de la cotangente
- Logaritmo neperiano - logaritmo en base \"e\"
- Logaritmo decimal - logaritmo en base 10
- Logaritmo - logaritmo con la base especificada
+ Arcsine - inverse sine function
+ Arccosine - inverse cosine function
+ Arctangent - inverse tangent function
+ Arccotangent - inverse cotangent function
+ Logaritmo neperiano - logaritmo de base e
+ Decadic logaritmo - logaritmo de base 10
+ Logaritmo - logaritmo de la base especificada
Función exponencial
- Función Raíz cuadrada
- Función raíz cúbica
- Devuelve el valor absoluto de un argumento
- Devuelve el signo de un argumento: -1 si el argumento es menor que 0, 0 si es igual a 0, y 1 si es mayor que 0
- Función Igual - Devuelve 1 si dos argumentos son iguales, y 0 si no lo son
- Función Menor o Igual que - Devuelve 1 si dos argumentos son iguales o si el primero es menor que el segundo. Devuelve 0 si el primer argumento es mayor
- Función Mayor o Igual que - Devuelve 1 si dos argumentos son iguales o si el primero es mayor que el segundo. Devuelve 0 si el primer argumento es menor
- Función Distinto - Devuelve 1 si dos argumentos no son idénticos, y 0 en caso contrario
- Función Menor que - Devuelve 1 si el primer argumento es menor que el segundo. Devuelve 0 en caso contrario
- Función Mayor que - Devuelve 1 si el primer argumento es mayor que el segundo. Devuelve 0 en caso contrario
- Convierte grados a radianes: º - grados, min - minutos (por defecto = 0), s - segundos (por defecto = 0)
+ Función Raíz cuadrado
+ Cubic root function
+ Gives absolute value of an argument
+ Gives the sign of an argument: -1 if argument is less than 0, 0
+ if equals to 0, 1 if more than 0
- Convierte grados de notación DMS a notación decimal: º - grados, min - minutos (por defecto = 0), s - segundos (por defecto = 0)
+ Función Igual - Devuelve 1 si dos argumentos son iguales, 0 si no lo son
- Convierte de radianes a grados
+ Función Menor o igual - Devuelve 1 si dos argumentos son iguales o el primero es
+ menor que el segundo, 0 si el primero es mayor
+
+ Función Mayor o igual - Devuelve 1 si dos argumentos son iguales o si el primero
+ es mayor que el segundo, 0 si el primero es menor
+
+ Función Distinto - Devuelve 1 si dos argumentos no son iguales, 0 si son
+ idénticos
+
+ Función Menor - Devuelve 1 si el primer argumento es menor que el segundo, 0 si
+ no lo es
+
+ Función Mayor - Devuelve 1 si el primer argumento es mayor que el segundo, 0 si
+ no lo es
+
+ Convierte grados a radianes: d - grados, m - minutos (por defecto = 0), s -
+ segundos (por defecto = 0)
+
+ Convierte grados de notación DMS a notación decimal: d - grados, m - minutos
+ (por defecto = 0), s - segundos (por defecto = 0)
+
+ Convierte radianes a grados
Trigonométrico
Hiperbólicas trigonométricas
Comparación
diff --git a/android-app-core/res/values-es/text_operators.xml b/android-app-core/res/values-es/text_operators.xml
index 9bbc8852..09cb766c 100644
--- a/android-app-core/res/values-es/text_operators.xml
+++ b/android-app-core/res/values-es/text_operators.xml
@@ -2,21 +2,27 @@
Operadores
- El módulo de operación encuentra el resto de la división de \"x\" por \"y\"
- Suma las funciones \"f(i)\", iterativamente en el intervalo \"i\", desde \"inicio\" hasta \"fin\"
- Devuelve el producto de las funciones \"f(i)\", iterativamente en el intervalo \"i\", desde \"inicio\" hasta \"fin\"
- Devuelve la derivada de la orden \"orden\" (por defecto = 1) para las funciones \"f(x)\", en base a la variable \"x\" y calcula en el punto \"punto_x\" (por defecto = mismo valor que \"x\")
- Devuelve la integral para la función \"f(x)\" en base a la variable \"x\"
- Integra la función \"f(x)\" en base a la variable \"x\" desde \"a\" hasta \"b\"
- Devuelve el factorial de la expresión anterior
- Devuelve el factorial doble de la expresión anterior
- Devuelve el valor porcentual de la expresión
- anterior.\nEjemplos:\n
+ Modulo operation finds the remainder of division of \'x\' by \'y\'
+ Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'
+
+ Gives product of functions \'f(i)\', iterating through \'i\' from \'from\'
+ to \'to\'
+
+ Gives derivative of order \'order\' (default = 1) of functions \'f(x)\'
+ by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\')
+
+ Gives integral of function \'f(x)\' by \'x\' variable
+ Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'
+
+ Gives the factorial of the expression before
+ Gives the double factorial of the expression before
+ Devuelve el valor porcentaje de la expresión
+ antes.\nEjemplos:\n
100 + 50% = 150\n
100 * 50% = 50\n
100 + 100 * 50% * 50% = 125
- Convierte de Grados a Radianes.\n
+ Convierte Grados a Radianes.\n
Ejemplos:\n
268° = 4.67748\n
30.21° = 0.52726
diff --git a/android-app-core/res/values-es/text_strings.xml b/android-app-core/res/values-es/text_strings.xml
index 54bb3ca9..7f5ab36f 100644
--- a/android-app-core/res/values-es/text_strings.xml
+++ b/android-app-core/res/values-es/text_strings.xml
@@ -2,19 +2,19 @@
Calculadora++
- Calculadora++ (Modo ventana)
+ Calculator++ (Window mode)
Calculadora++ Free
Calc++
- Ajustes
+ Configuración
Error
- ¡El resultado se ha copiado en el portapapeles!
+ Result has been copied to the clipboard!
Configuración
Ayuda
Variables y Constantes
Ajustes principales
Ajustes de Cálculo
Ajustes de apariencia
- Otros ajustes
+ Other settings
Configuración del deslizamiento de los botones
Abajo
Arriba
@@ -22,21 +22,24 @@
deshacer
rehacer
C
-
+ borrar
pegar
- variables
+ vars
Copiar
- Trazar gráfico
+ Parcela gráfico
Gráfico
Resaltar expresiones
Redondear resultado
- Activar/desactivar el redondeo del resultado
- Notación científica permanente
- Si está activado, se fuerza el uso de la notación científica para mostrar el resultado.
-(12.34E-12)
+ Activar redondeo del resultado
+ Always scientific notation
+ If turned on forces to use only scientific notation of output
+ (12.34E-12)
+
Precisión del resultado
- Tiempo máximo de cálculo
- Si los cálculos superan el límite establecido - la calculadora muestra un error y se detiene
+ Maximum calculation time
+ If calculations exceed specified limit - calculator halts with
+ error
+
Salir
Añadir
Cancelar
@@ -51,10 +54,11 @@
Descripción
Crear variable
Editar variable
- ¡El valor debe ser numérico o estar vacío: Si tienes parámetros - crea un a función en su lugar!
+ ¡El valor debe ser numérico o estar vacío!
La variable name entra en conflicto con la función name!
¡Ya existe una variable con el mismo nombre!
- El nombre de la constante no es válido: el nombre debe comenzar con una letra, y puede contener letras, dígitos y líneas.
+ El nombre de la Constante no es válido: el nombre debe comenzar con una
+ letra,puede contener letras, dígitos y líneas.
¡Una Variable de Sistema no puede ser cambiada!
Introducir nuevo cálculo
@@ -80,17 +84,19 @@
Octal
Binario
Tema
- Gris
+ Predeterminado
Violeta
Azul claro
- Metro Azul (Predeterminado)
- Metro Verde
- Metro Morado
- Precisión en el valor del resultado (todos los cálculos se realizan con la máxima precisión, independientemente del valor de esta opción)
- Activa o desactiva los colores y estilos en el editor de la calculadora
+ Metro Blue (Default)
+ Metro Green
+ Metro Purple
+ Precisión del resultado (todos los cálculos se realizar con la máxima
+ precisión a pesar del valor de esta opción)
+
+ Ajustar colores y estilo en el editor de la calculadora
Establecer el tema para la Calculadora
Limpiar historial
- Mostrar/Ocultar fecha
+ Show/hide date
Las constantes siguientes no están definidas: {0}!
No usar separador de Grupos
Apóstrofe (\')
@@ -102,9 +108,9 @@
Plantilla
Teléfono
Calculadora
- Científica (Botones grandes)
- Sencilla
- Sencilla (Botones grandes)
+ Scientific (Big buttons)
+ Simple
+ Simple (Big buttons)
Establecer la plantilla de los botones
Configurar vibración
Vibrar al pulsar un botón
@@ -116,18 +122,19 @@
No se puede crear una constante vacía!
El resultado actual no es válido!
Gráfico
- Desde
- Hasta
- Distancia de deslizado para los botones
- Establece la distancia de deslizado para los botones que admiten acciones adicionales de deslizado
- Comentario
+ From
+ To
+ Swipe distance for buttons
+ Sets swipe distance for buttons that support additional swipe actions
+
+ Comment
Guardado
No se guarda
Expresión copiada en el portapapeles!
Estado:
Comentario:
Utilizar
- Uso
+ Use
Copia de la expresión
Copia resultado
Valor
@@ -139,134 +146,179 @@
La historia guardada
La historia se salvó ya!
La historia debe ser salvado antes de editar!
- ¡El historial se ha eliminado satisfactoriamente!
- ¡El historial se ha guardado satisfactoriamente!
+ La historia se ha eliminado correctamente!
+ La historia se ha guardado correctamente!
Сopia de la descripción
Сopia el valor
- ¡Gracias por elegir Calculadora++!\n\nCalculadora++ es una potente herramienta para realizar sus cálculos cotidianos.
- Bienvenido
- Mostrar notas de la versión
- Establece si la ventana emergente de las notas de versión debe aparecer tras actualizar a una nueva versión
- Establece el comportamiento del botón \"Atrás\"
- Utilice el botón \"Atrás\" para volver al historial
- Se volverá a cargar la información de compra desde el servidor
- Actualizar la información de compra
- Advertencia
- Error
- No se admite el método de pago: debes disponer de una cuenta de Google Checkout asociada a tu cuenta de Google, y debes estar conectado a internet.
- Apoyar el proyecto
- Y eliminar los anuncios
- ¡La opción sin publicidad ya ha sido comprada previamente!
- Realizando compra...
- Realizando limpieza...
- Críticas y comentarios
- Has usado calculadora ++ y es importante para nosotros saber tu opinión sobre application.\n\n por favor vota calculadora ++ en: \non Google Play, \n deja un comentario o \ndiscuss la \non aplicación Facebook
- Buenas noticias - acabo de lanzar una nueva aplicación para Android llamada notas ++. \n si usted está interesado en una manera rápida y fácil de hacer notas por favor siga el enlace y pruebe de notas ++!
- Las unidades de los ángulos han sido cambiados a \'%s\'!
- Se ha cambiado la base del numeral a \'%s\'!
- Herramienta de conversión
- Convertir a…
- Convertir a hexagonal
- Convertir a binario
- Convertir a numero decimal
- Editor
- Resultado
- Otro
- Derivadas/Integrales
- Calculator++ se ha detenido…
- Calculator++ reporte de error
- Desafortunadamanete, Calculator++ se ha parado.\n\n
-Para poder arreglar el problema necesitamos información acerca de el error. Es muy recomendable mandar un informe de error, vía email (después de presionar el botón de \'Ok\' verá toda la información que se enviará en una nueva ventana),\n\n
-¿Quiere mandara un reporte de error?
- Ajustes de gráfica
- Gráfico de la función de interpolación
- Si está marcado, se empleará la interpolación cúbica para dibujar la gráfica de función
- Color de la parte real del gráfico de funciones
- Establece el color del gráfico de funciones de parte real
- Color de la parte imaginaria del gráfico de funciones
- Establece el color del gráfico de funciones de parte imaginaria
- Blanco
- Gris
- Rojo
- Azul
- Verde
- Nombre
- Valor
- Descripción
- Parámetros
- Crear función
- Editar función
- El nombre de la función no es válido: El nombre debe comenzar con una letra, y puede contener letras, dígitos y líneas.
- ¡Ya existe una función con el mismo nombre!
- ¡El cuerpo de la función no puede estar vacío!
- ¡El parámetro de la función no puede estar vacío!
- ¿Estás seguro de que quieres eliminar la función \'%s\'?
- ¡No se puede crear una función vacía!
- No mostrar este mensaje hasta la próxima sesión
- Advertencia de Calculadora++
- Se ha producido un error aritmético al trazar: %s
- De acuerdo
- Mostrar mensajes de cálculo en el cuadro de diálogo
- Si está activado, se mostrará un cuadro de diálogo especial si se produjera algún mensaje durante los cálculos
- Arreglar
- Sistema de numeración predeterminado
- Establece el sistema de numeración predeterminado
- El sistema de numeración predeterminado \'%1$s\' difiere del actual \'%2$s\'. ¿Olvidaste deshacer el cambio?
- Unidades de ángulo predeterminadas
- Establece las unidades de ángulo predeterminadas
- Las unidades de ángulo predeterminadas \'%1$s\' difieren de las actuales \'%2$s\'. ¿Olvidaste deshacer el cambio?
+ Thank you for choosing Calculator++!\n\nCalculator++ is a powerful tool for making
+ everyday calculations.
- Cerrar
- Calculadora++ Widget (3x3)
- Calculadora++ Widget (3x4)
- Calculadora++ Widget (4x4)
- Calculadora++ Widget (4x5)
- Haga clic para abrir la calculadora en modo ventana
- Ajustes de la calculadora (en ventana separada)
- Iniciar al arrancar
- Si está activado, Calculadora++ aparecerá en la barra de notificaciones tras el arranque del sistema
- Mostrar icono separado (requiere reiniciar)
- Si está activado, aparecerá un segundo icono en la lista de aplicaciones
- Puedes quitar el segundo icono de la lista de aplicaciones desde los ajustes de la aplicación, o pulsando el botón siguiente
- Después de realizar este cambio, es posible que tenga que reiniciar
- Trazado 2D
- Trazado 3D
- Funciones gráficas
- Trazar la parte imaginaria de la función
- Si está activado, se trazará la parte imaginaria de la función
- Monocromo
- Mapa de color (sólo 3D)
- Solido (-----)
- Discontinuo (- - -)
- Punteado (. . .)
- Punteado-guionado (-.-.-)
- Trazador de funciones
- Tomar captura de pantalla
- ¡La captura de pantalla se ha guardado satisfacoriamente: %1$s!
- ¡No se ha podido guardar la captura de pantalla porque la tarjeta SD no está montada. Monte la tarjeta SD e inténtelo de nuevo!
- Tipo de color de línea
- Color de línea
- Estilo de línea
- Ancho de línea
- Ajustes de la función
- Función
- Anclado
+ Welcome
+ Show release notes
+ Defines if release notes popup window should appear after update to
+ the new version
+
+ Defines the behaviour of the Back button
+ Use Back button as history prev
+ Purchase information will be reloaded from the server
+ Update purchase information
+ Warning
+ Error
+ Billing is not supported: you must have Google Checkout account linked to your Google
+ account and must be connected to the internet.
+
+ Support the project
+ And remove the advertisement
+ Ad free option has been already purchased!
+ Purchasing…
+ Clearing…
+ Feedback
+ You have been using Calculator++ for some time \n
+ and it\'s important for us to know your opinion about application.\n\n
+ Please rate Calculator++ \non
+ Google Play,\n leave a comment or \ndiscuss application \non
+ Facebook
+
+ Good news - I just released new application for Android called
+ Notes++.\n
+ If you\'re interesting in fast and easy way of making notes please follow the
+ link
+ and try Notes++!
+
+ Angle units changed to \'%s\'!
+ Numeral base changed to \'%s\'!
+ Conversion tool
+ Convert to…
+ Convert to hex
+ Convert to bin
+ Convert to dec
+ Editor
+ Result
+ Other
+ Derivatives/Integrals
+ Calculator++ has crashed…
+ Calculator++ crash report
+
+ Unfortunately, Calculator++ has crashed.\n\n
+ In order to fix the problem we need some information about it. It\'s highly recommended to send crash report via
+ email (after pressing \'Ok\' button you will see all sent data in the new window).\n\n
+ Do you want to send crash report?
+
+ Graph settings
+ Interpolate function\'s graph
+ If checked cubic interpolation will be used in function
+ graph drawing
+
+ Color of real part of functions graph
+ Sets color of real part functions graph
+ Color of imaginary part of functions graph
+ Sets color of imaginary part functions graph
+ White
+ Grey
+ Red
+ Blue
+ Green
+ Name
+ Value
+ Description
+ Parameters
+ Create function
+ Edit function
+ Name of function is not valid: name must start with letter, can contain
+ letters, digits and underscore.
+
+ Function with same name already exists!
+ Function body could not be empty!
+ Function parameter should not be empty!
+ Do you really want to delete \'%s\' function?
+ Unable to create empty function!
+ Do not show this message until next session
+ Calculator++ warning
+ Arithmetic error occurred while plotting: %s
+ OK
+ Show calculation messages in dialog
+ If turned on if any message occurred while calculations
+ special dialog will be shown
+
+ Fix
+ Default numeral system
+ Defines the default numeral system
+ Default numeral system \'%1$s\' differs from current \'%2$s\'. Forgot
+ to change back?
+
+ Default angle units
+ Defines the default angle units
+ Default angle units \'%1$s\' differs from current \'%2$s\'. Forgot to
+ change back?
+
+ Close
+ Calculator++ Widget (3x3)
+ Calculator++ Widget (3x4)
+ Calculator++ Widget (4x4)
+ Calculator++ Widget (4x5)
+ Click to open calculator in window mode
+ Calculator (in separate window) settings
+ Start on boot
+ If turned on Calculator++ will appear in notification bar after
+ device boot
+
+ Show separate icon (require reboot)
+ If turned on second icon will be shown in applications\' list
+
+ You can remove second icon in applications\' list from application
+ settings or by pressing next button
+
+ This change may require reboot
+ 2D plot
+ 3D plot
+ Graph functions
+ Plot imaginary part of function
+ If checked imaginary part of function will be plotted
+ Monochrome
+ Color map (only 3D)
+ Solid (-----)
+ Dashed (- - -)
+ Dotted (. . .)
+ Dot-dashed (-.-.-)
+ Function plotter
+ Capture screenshot
+ Screenshot successfully saved: %1$s!
+ Screenshot cannot be saved as SD card is not mounted. Mount SD
+ card and try again!
+
+ Line color type
+ Line color
+ Line style
+ Line width
+ Function settings
+ Function
+ Pinned
Visible
- +trazar
- ¡No se puede trazar una función vacía!
- ¡Imposible trazar: demasiadas variables!
- Intervalo gráfico
- Pantalla completa
- X Mín.
- X Máx.
- Y Mín.
- Y Máx.
- ¡Número no válido!
- ¡Los límites del gráfico no deben ser idénticos!
- Aplicar
- Mensaje
- Continuar
- Apoyar el proyecto es fácil y seguro: Google proporciona el proceso de compra y todo lo que necesitas es una cuenta de Google correctamente configurada.\n\n La información de pago se almacena en los servidores de Google con tu cuenta de Google, y puedes utilizar esta aplicación en varios dispositivos de manera sencilla.\n\n Al pulsar el botón \'Continuar\', se le redireccionará a Google Play para hacer el pago.
- Comprar
- ¡Gracias por apoyar esta aplicación! \n\n Pueden pasar varios minutos hasta que la aplicación actualice la información de compra. Puedes revisar la información de compra en tu cuenta de Google siempre que lo desees. \n Ante cualquier problema o pregunta sobre la aplicación, no dudes en contactarme directamente (los datos de contacto están disponibles en Principal->Menú->Acerca de)
+ +plot
+ Unable to plot empty function!
+ Unable to plot: too many variables!
+ Graph range
+ Fullscreen
+ X Min
+ X Max
+ Y Min
+ Y Max
+ Invalid number!
+ Graph boundaries should not be the same!
+ Apply
+ Message
+ Continue
+ Supporting the project is easy and secure: purchase process is provided by Google
+ and all you need is a properly configured Google account.\n\n
+ Payment information is stored in Google servers with your Google account and you can easily use application on
+ several devices.\n\n
+ By clicking \'Continue\' button you will be redirected to the Google Play app to make the payment.
+
+ Purchase
+ Thank you for supporting the application!\n\n It might take several
+ minutes until app will be informed about the purchase. You always can check information about the purchase in
+ your Google Account.\n
+ If you have any problems or questions feel free to contact me directly (contacts are available in
+ Main->Menu->About)
+
diff --git a/android-app-core/res/values-es/text_vars.xml b/android-app-core/res/values-es/text_vars.xml
index 065da582..67e80434 100644
--- a/android-app-core/res/values-es/text_vars.xml
+++ b/android-app-core/res/values-es/text_vars.xml
@@ -1,23 +1,26 @@
- Relación de la circunferencia del círculo con respecto a su diámetro. Nota: esta constante es dependiente de la unidad de grado=> rad: 3,14, deg: 180,0
+ Ratio de la circunferencia del círculo a su diámetro. Nota: esta constante es la
+ unidad de medida dependiente => rad: 3,14, deg: 180,0
- Relación de la circunferencia del círculo con respecto a su diámetro. Nota: esta constante es independiente de la unidad de grado=> rad: 3,14, deg: 3,14
+ Ratio de la circunferencia del círculo a su diámetro. Nota: esta constante es la
+ unidad de medida independientes => rad: 3.14, deg: 3.14
- Número real único tal que el valor de la derivada (pendiente de la recta tangente)
+ Número real único como el valor de la derivada (pendiente de la línea tangente)
de la función f(x) = e^x en el punto x = 0 es igual a 1
Unidad imaginaria, definida como i^2 = −1
- Velocidad de la luz en el vacío, m·s
- La constante gravitatoria es una constante física empírica implicada en el
-cálculo de la atracción gravitatoria entre objetos con masa, m^3·kg^−1·s^−2
+ Velocidad de la luz en vacío, m·s^-1
+ La constante gravitatoria es una constante física empírica consistente en el
+ cálculo de la atracción gravitatoria entre objetos con masa, m^3·kg^−1·s^−2
- Constante física que refleja los tamaños de energía cuántica en mecánica cuántica, J·s
+ Constante física que refleja los tamaños de energía cuántica en mecánica
+ cuántica, J·s
- Constante de Planck reducida, J·s
+ Constante Planck reducida, J·s
No es un número
Infinito
- Integrado
+ Incorporado
Mis
diff --git a/android-app-core/res/values-it/text_about.xml b/android-app-core/res/values-it/text_about.xml
index a5376e79..f220d2e7 100644
--- a/android-app-core/res/values-it/text_about.xml
+++ b/android-app-core/res/values-it/text_about.xml
@@ -1,15 +1,24 @@
- Info
- Copyright © 2009–2013\n\nCreated by serso aka se.solovyev\n\n Siamo su Facebook: http://facebook.com/calculatorpp\n\n Questo programma è distribuito con Licenza Apache 2.0:\nIl codice sorgente si trova su\nhttp://github.com\n\n per maggiori informazioni\ncontatta l\'autore via email\n se.solovyev@gmail.com\no visita il sito\n http://se.solovyev.org\n\nSe desideri supportare il progetto\npuoi acquistare un\'opzione speciale dalle preferenze dell\'applicazione\n\n
-Se ti piace la applizione\n valutala con 5 stelle su\nGoogle Play\n\n
-Questa applicazione utilizza le seguenti libreria open source:\n
-Simple (serializzazione XML)\n
-JSCL
- Questa app è stata tradotta in Italiano da:
-
- Note di versione
- "Novità nella versione "
+ About
+ Copyright © 2009–2013\n\nCreated by serso aka se.solovyev\n\n
+ We are on Facebook: http://facebook.com/calculatorpp\n\n
+ This program is distributed under Apache 2.0 License:\nsource code can be found on\n
+ http://github.com\n\n
+ For more information please\ncontact the author by email\n
+ se.solovyev@gmail.com
+ \nor visit\nhttp://se.solovyev.org\n\n
+ If you want to support the project\nyou can buy a special option from application preferences\n\n
+ If you like the application\nrate it with 5 stars on\n
+ Google Play\n\n
+ This application uses next open source libraries:\n
+ Simple (XML serialization)\n
+ JSCL
+
+ This app is translated to Italian by:
+
+ Release notes
+ "Release notes for version "
http://www.facebook.com/calculatorpp
diff --git a/android-app-core/res/values-it/text_functions.xml b/android-app-core/res/values-it/text_functions.xml
index ee0d0693..bdcc49ae 100644
--- a/android-app-core/res/values-it/text_functions.xml
+++ b/android-app-core/res/values-it/text_functions.xml
@@ -2,36 +2,45 @@
Funzioni
- Funzione trigonometrica seno
- Funzione trigonometrica coseno
- Funzione trigonometrica tangente
- Funzione trigonometrica cotangente
- Arcoseno - funzione inversa del seno
- Arcocoseno - funzione inversa del coseno
- Arcotangente - funzione inversa della tangente
- Arcocotangente - Funzione inversa della cotangente
- Logaritmo naturale - Logaritmo in base e
- Logaritmo decimale - logaritmo in base 10
- Logaritmo - logaritmo nella base specificata
- Funzione esponenziale
- Funzione radice quadrata
- Funzione radice cubica
- Dà il valore assoluto di un argomento
- Dà il segno di un argomento: -1 se l\'argomento è minore di 0, 0 se è uguale a 0, 1 se è più di 0
- Funzione uguaglianza - restituisce 1 se i due argomenti sono uguali, 0 altrimenti
+ Trigonometric sine function
+ Trigonometric cosine function
+ Trigonometric tangent function
+ Trigonometric cotangent function
+ Arcsine - inverse sine function
+ Arccosine - inverse cosine function
+ Arctangent - inverse tangent function
+ Arccotangent - inverse cotangent function
+ Natural logarithm - logarithm to base e
+ Decadic logarithm - logarithm to base 10
+ Logarithm - logarithm the specified base
+ Exponential function
+ Square root function
+ Cubic root function
+ Gives absolute value of an argument
+ Gives the sign of an argument: -1 if argument is less than 0, 0
+ if equals to 0, 1 if more than 0
- Funzione minore o uguale - restituisce 1 se due argomenti sono uguali o il primo è minore del secondo, 0 altrimenti
- Funzione maggiore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è maggiore del secondo, 0 altrimenti
+ Equals function - gives 1 if two arguments are equals, 0 otherwise
+ Lesser-or-equals function - gives 1 if two arguments are equals or first is less
+ than second, 0 otherwise
- Funzione disuguaglianza - restituisce 1 se i due argomenti non sono uguali, 0 altrimenti
+ Greater-or-equals function - gives 1 if two arguments are equals or first is
+ greater than second, 0 otherwise
- Funzione minore - restituisce 1 se il primo argomento è minore del secondo, 0 altrimenti
- Funzione maggiore - restituisce 1 se il primo argomento è maggiore del secondo, 0 altrimenti
- Converte gradi in radianti: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0)
+ Not-equals function - gives 1 if two arguments are not equals, 0 otherwise
- Converte gradi dalla notazione DMS in notazione decimale: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0)
+ Lesser function - gives 1 if first argument is less than second, 0 otherwise
- Converte radianti in gradi
+ Greater function - gives 1 if first argument is greater than second, 0
+ otherwise
+
+ Converts degrees into radians: d - degrees, m - minutes (default = 0), s -
+ seconds (default = 0)
+
+ Converts degrees from DMS notation to decimal notation: d - degrees, m -
+ minutes (default = 0), s - seconds (default = 0)
+
+ Converts radians into degrees
Trigonometriche
Trigonometriche iperboliche
Comparazione
diff --git a/android-app-core/res/values-it/text_operators.xml b/android-app-core/res/values-it/text_operators.xml
index 7c787299..272dbe31 100644
--- a/android-app-core/res/values-it/text_operators.xml
+++ b/android-app-core/res/values-it/text_operators.xml
@@ -2,14 +2,20 @@
Operatori
- L\'operatore modulo trova il resto della divisione di \'x\' per \'y\'
- Somma le funzioni \'f(i)\', iterando su \'i\' da \'from\' a \'to\'
- Restituisce il prodotto delle funzioni \'f(i)\', iterando su \'i\' da \'from\' a \'to\'
- Restituisce la derivata do ordine \'order\' (predefinito = 1) della funzione \'f(x)\' nella variabile \'x\' e calcolata nel punto \'x_point\' (predefinito = lo stesso di \'x\')
- Restituisce l\'integrale della funzione f(x) nella variabile \'x\'
- Integra la funzione \'f(x)\' Nella variabile \'x\' tra \'a\' e \'b\'
- Restituisce il fattoriale della precedente espressione
- Restituisce il doppio fattoriale della precedente espressione
+ Modulo operation finds the remainder of division of \'x\' by \'y\'
+ Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'
+
+ Gives product of functions \'f(i)\', iterating through \'i\' from \'from\'
+ to \'to\'
+
+ Gives derivative of order \'order\' (default = 1) of functions \'f(x)\'
+ by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\')
+
+ Gives integral of function \'f(x)\' by \'x\' variable
+ Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'
+
+ Gives the factorial of the expression before
+ Gives the double factorial of the expression before
Restituisce la percentuale dell\'espressione
precedente.\nEsempi:\n
100 + 50% = 150\n
diff --git a/android-app-core/res/values-it/text_strings.xml b/android-app-core/res/values-it/text_strings.xml
index 2d8b29a2..c640c8e5 100644
--- a/android-app-core/res/values-it/text_strings.xml
+++ b/android-app-core/res/values-it/text_strings.xml
@@ -1,20 +1,20 @@
- Calcolatrice++
- Calcolatrice++ (Modalità finestra)
- Calcolatrice++ Free
+ Calculator++
+ Calculator++ (Window mode)
+ Calculator++ Free
Calc++
Impostazioni
Errore
- Il risultato è stato copiato negli appunti!
+ Result has been copied to the clipboard!
Impostazioni
Aiuto
Variabili e costanti
Impostazioni principali
Impostazioni calcolo
Impostazioni aspetto
- Altre impostazioni
+ Other settings
Impostazioni trascinamento tasti
Giù
Su
@@ -22,20 +22,24 @@
annulla
rifai
C
-
+ cancella
incolla
- variabili
+ vars
Copiare
Plot grafico
Grafico
Evidenzia espressioni
Arrotonda risultato
Attiva/disattiva arrotondamento dei risultati
- Sempre la notazione scientifica
- Se attivo, forza ad usare solo la notazione scientifica di output (12.34E-12)
+ Always scientific notation
+ If turned on forces to use only scientific notation of output
+ (12.34E-12)
+
Precisione del risultato
- Tempo massimo di calcolo
- Se i calcoli superano il limite specificato - la calcolatrice si ferma con un errore
+ Maximum calculation time
+ If calculations exceed specified limit - calculator halts with
+ error
+
Esci
Aggiungi
Annulla
@@ -50,9 +54,9 @@
Descrizione
Crea variabile
Modifica variabile
- Il valore deve essere un numero o lasciato vuoto: se disponi di parametri, crea invece una funzione!
+ Il valore deve essere un numero o vuoto!
Il nome della variabile entra in conflitto col nome della funzione!
- Esiste già una variabile con lo stesso nome!
+ Una variabile con lo stesso nome esiste già!
Il nome della costante non è valido: il nome deve iniziare con una lettera, può
contenere lettere, cifre e underscore.
@@ -88,12 +92,12 @@
Precisione del risultato (tutti i calcoli sono fatti con la massima
precisione, indipendentemente dal valore di questa opzione)
- Attiva o disattiva la colorazione e lo styling dell\'editor
+ Attiva o disattiva la colorazione e lo styling dell\' editor
calcolatrice
Imposta il tema per la calcolatrice
Cancella cronologia
- Mostra/nascondi data
+ Show/hide date
Le prossime costanti sono indefinite: {0}!
Nessun separatore
Apostrofo (\')
@@ -105,9 +109,9 @@
Layout
Cellulare
Calcolatrice
- Scientifico (tasti grandi)
- Semplice
- Semplice (tasti grandi)
+ Scientific (Big buttons)
+ Simple
+ Simple (Big buttons)
Imposta layout per i pulsanti
Feedback tattile
Attiva o disattiva la vibrazione su click dei pulsanti
@@ -122,7 +126,8 @@
Da
A
Swipe distanza per i pulsanti
- Imposta distanza swipe per i pulsanti che supportano azioni swipe supplementari
+ Imposta distanza swipe per i pulsanti che supportano le azioni swipe
+ supplementare
Commento
Salvato
@@ -131,7 +136,7 @@
Stato:
Commento:
Uso
- Uso
+ Use
Copia espressione
Copia risultato
Valore
@@ -143,139 +148,179 @@
Storia salvati
La storia era già salvato!
La storia deve essere salvato prima di modificare!
- La cronologia è stata rimossa con successo!
- La cronologia è stata salvata correttamente!
+ La storia è stata rimossa con successo!
+ La storia è stata salvata correttamente!
Сopia descrizione
Сopia il valore
- Grazie per aver scelto Calculator++!\n\nCalculator++ è un potente strumento per fare calcoli ogni giorno.
- Benvenuti
- Visualizza le note di versione
- Definisce se la finestra popup delle note di versione debba comparire dopo l\'aggiornamento alla nuova versione
- Definisce il comportamento del pulsante Indietro
- Usa il pulsante indietro per la cronologia precedente
- Le Informazioni sugli acquisti verranno scaricate nuovamente dal server
- Aggiornare le informazioni di acquisto
- Attenzione
- Errore
- La fatturazione non è supportata: si deve avere un account Google Checkout collegato all\'account Google e si deve essere collegati ad internet.
- Supportare il progetto
- E rimuovere la pubblicità
- L\'opzione di rimozione annunci pubblicitari è stata già acquistata!
- Acquisto in corso…
- Pulizia in corso…
- Commenti
- State usando Calculator++ da un po\' di tempo\n
-ed è importante per noi conoscere la vostra opinione sull\'applicazione.\n\n
-Per favore valutate Calculator++ \nsu Google Play,\n lasciate un commento o \npartecipate alla discussione sull\'applicazione \nsu Facebook
- Buone notizie - ho appena rilasciato una nuova applicazione per Android chiamata Notes++.\nSe siete interessati ad un modo facile e veloce per prendere note e appunti per favore seguite il collegamento e provate Notes++!
- Le unità di misura per gli angoli sono state impostate su \'%s\'!
- La base per i numeri è stata impostata su \'%s\'!
- Strumenti di conversione
- Converti in…
- Converti in esadecimale (hex)
- Converti in binario (bin)
- Converti in decimale (dec)
+ Thank you for choosing Calculator++!\n\nCalculator++ is a powerful tool for making
+ everyday calculations.
+
+ Welcome
+ Show release notes
+ Defines if release notes popup window should appear after update to
+ the new version
+
+ Defines the behaviour of the Back button
+ Use Back button as history prev
+ Purchase information will be reloaded from the server
+ Update purchase information
+ Warning
+ Error
+ Billing is not supported: you must have Google Checkout account linked to your Google
+ account and must be connected to the internet.
+
+ Support the project
+ And remove the advertisement
+ Ad free option has been already purchased!
+ Purchasing…
+ Clearing…
+ Feedback
+ You have been using Calculator++ for some time \n
+ and it\'s important for us to know your opinion about application.\n\n
+ Please rate Calculator++ \non
+ Google Play,\n leave a comment or \ndiscuss application \non
+ Facebook
+
+ Good news - I just released new application for Android called
+ Notes++.\n
+ If you\'re interesting in fast and easy way of making notes please follow the
+ link
+ and try Notes++!
+
+ Angle units changed to \'%s\'!
+ Numeral base changed to \'%s\'!
+ Conversion tool
+ Convert to…
+ Convert to hex
+ Convert to bin
+ Convert to dec
Editor
- Risultato
- Altri
- Derivate/Integrali
- Calculator++ è andato in crash…
- Rapporto crash di Calculator++
- Sfortunatamente, Calculator + + si è chiuso.\n\n
-Per risolvere il problema, abbiamo bisogno di alcune informazioni. E\' altamente consigliato inviare un report via e-mail (dopo aver premuto il tasto \'Ok\' vedrete tutti inviati dati in una nuova finestra).\n\n
-Vuoi inviare un report?
- impostazioni grafici
- Grafico della funzione interpolata
- Se selezionata, l\'interpolazione cubica verrà usata nel disegno del grafico
- Colore della parte reale del grafico della funzione
- Imposta i colori della parte reale del grafico della funzione
- Colore della parte immaginaria del grafico della funzione
- Imposta il colore della parte immaginaria del grafico della funzione
- Bianco
- Grigio
- Rosso
- Blu
- Verde
- Nome
- Valore
- Descrizione
- Parametri
- Crea la funzione
- Modifica funzione
- Il nome della funzione non è valido: deve iniziare con una lettera, può contenere lettere, cifre e la sottolineatura.
- Funzione con lo stesso nome esiste già!
- Il corpo della funzione non può essere vuoto!
- I parametri della funzione non possono essere vuoti!
- Vuoi veramente eliminare la funzione \'%s\'?
- Impassibile creare funzioni con argomento nullo!
- Non mostrare questo messaggio fino alla prossima sessione
- Avvertimento di calculator++
- Un errore aritmetico è avvenuto nel rappresentare il grafico di: %s
- Ok
- Mostra i messaggi del calcolo nella finestra
- Se attivato, qualsiasi messaggio relativo ai calcoli sarà mostrato in una finestra apposita
- Sistemare
- Sistema numerico predefinito
- Imposta il sistema numerico predefinito
- Il sistema numerico predefinito \'%1$s\' differisce da quello corrente \'%2$s\'. Dimenticato di cambiarlo?
- Unità di misura predefinita per gli angoli
- Imposta l\'unità di misura predefinita degli angoli
- Unita di misura predefinita per gli angoli \'%1$s\' differisce da quella attuale \'%2$s\'. Dimenticato di cambiarla?
- Chiudi
+ Result
+ Other
+ Derivatives/Integrals
+ Calculator++ has crashed…
+ Calculator++ crash report
+
+ Unfortunately, Calculator++ has crashed.\n\n
+ In order to fix the problem we need some information about it. It\'s highly recommended to send crash report via
+ email (after pressing \'Ok\' button you will see all sent data in the new window).\n\n
+ Do you want to send crash report?
+
+ Graph settings
+ Interpolate function\'s graph
+ If checked cubic interpolation will be used in function
+ graph drawing
+
+ Color of real part of functions graph
+ Sets color of real part functions graph
+ Color of imaginary part of functions graph
+ Sets color of imaginary part functions graph
+ White
+ Grey
+ Red
+ Blue
+ Green
+ Name
+ Value
+ Description
+ Parameters
+ Create function
+ Edit function
+ Name of function is not valid: name must start with letter, can contain
+ letters, digits and underscore.
+
+ Function with same name already exists!
+ Function body could not be empty!
+ Function parameter should not be empty!
+ Do you really want to delete \'%s\' function?
+ Unable to create empty function!
+ Do not show this message until next session
+ Calculator++ warning
+ Arithmetic error occurred while plotting: %s
+ OK
+ Show calculation messages in dialog
+ If turned on if any message occurred while calculations
+ special dialog will be shown
+
+ Fix
+ Default numeral system
+ Defines the default numeral system
+ Default numeral system \'%1$s\' differs from current \'%2$s\'. Forgot
+ to change back?
+
+ Default angle units
+ Defines the default angle units
+ Default angle units \'%1$s\' differs from current \'%2$s\'. Forgot to
+ change back?
+
+ Close
Calculator++ Widget (3x3)
Calculator++ Widget (3x4)
Calculator++ Widget (4x4)
Calculator++ Widget (4x5)
- Clicca per aprire la calcolatrice in modalità finestra
- Impostazioni Calculator (in finestra separata)
- Apri all\'avvio
- Se selezionato, Calculator + + apparirà nella barra di notifica dopo l\'avvio del dispositivo
- Visualizza icona separata (richiede riavvio)
- Se selezionato, la seconda icona apparirà nella lista delle applicazioni
- È possibile rimuovere la seconda icona nella lista delle applicazioni, nelle impostazioni dell\'applicazione o premendo il pulsante avanti
- Questo cambiamento potrebbe richiedere il riavvio
- Grafico 2D
- Grafico 3D
- Funzioni del grafico
- Rappresenta la parte immaginaria della funzione
- Se selezionato, la parte immaginaria della funzione sarà rappresentata
- Monocromo
- Colore mappa (solo 3D)
- Solido (-----)
- Tratteggiato (- - -)
- A puntini (. . .)
- Punto-linea (-.-.-)
- Rappresenta la funzione
- cattura la schermata
- La schermata è stata salvata con successo: \'%1$s\'!
- La schermata non può essere salvata perché la scheda SD non è inserita. Inserire la scheda e provare ancora!
- Tipo del colore della linea
- Colore linea
- Stile linea
- Spessore Linea
- Impostazioni funzione
- Funzione
- Bloccato
- Visibile
- Disegna
- Impassibile rappresentare funzioni vuote!
- Impassibile rappresentare: troppe variabili!
- Intervallo del grafico
- Schermo intero
- Minimo x
- Massimo x
- Minimo y
- Massimo y
- Numero non valido!
- I limiti del grafico devono essere distinti!
- Applica
- Messaggio
- Continua
- Sostenere il progetto è facile e sicuro: il processo di pagamento è fornito da Google, e tutto ciò di cui hai bisogno è un account correttamente configurato.
-Le informazioni di pagamento sono memorizzate nei server di Google nel tuo account e puoi utilizzare facilmente quest\'applicazione su svariati apparecchi.
-premendo \'continua\' sarai indirizzato all\'applicazione Google play per effettuare il pagamento.
- Acquista
- Grazie per il supporto a questa applicazione!
-Potrebbero servire alcuno minuti prima che l\'applicazione venga informata dell\'acquisto. Puoi sempre verificare le informazioni sul pagamento nel tuo account Google.
-In caso di problemi o domande puoi contattare direttamente me(i contatto sono disponibili in main->menu->about)
+ Click to open calculator in window mode
+ Calculator (in separate window) settings
+ Start on boot
+ If turned on Calculator++ will appear in notification bar after
+ device boot
+
+ Show separate icon (require reboot)
+ If turned on second icon will be shown in applications\' list
+
+ You can remove second icon in applications\' list from application
+ settings or by pressing next button
+
+ This change may require reboot
+ 2D plot
+ 3D plot
+ Graph functions
+ Plot imaginary part of function
+ If checked imaginary part of function will be plotted
+ Monochrome
+ Color map (only 3D)
+ Solid (-----)
+ Dashed (- - -)
+ Dotted (. . .)
+ Dot-dashed (-.-.-)
+ Function plotter
+ Capture screenshot
+ Screenshot successfully saved: %1$s!
+ Screenshot cannot be saved as SD card is not mounted. Mount SD
+ card and try again!
+
+ Line color type
+ Line color
+ Line style
+ Line width
+ Function settings
+ Function
+ Pinned
+ Visible
+ +plot
+ Unable to plot empty function!
+ Unable to plot: too many variables!
+ Graph range
+ Fullscreen
+ X Min
+ X Max
+ Y Min
+ Y Max
+ Invalid number!
+ Graph boundaries should not be the same!
+ Apply
+ Message
+ Continue
+ Supporting the project is easy and secure: purchase process is provided by Google
+ and all you need is a properly configured Google account.\n\n
+ Payment information is stored in Google servers with your Google account and you can easily use application on
+ several devices.\n\n
+ By clicking \'Continue\' button you will be redirected to the Google Play app to make the payment.
+
+ Purchase
+ Thank you for supporting the application!\n\n It might take several
+ minutes until app will be informed about the purchase. You always can check information about the purchase in
+ your Google Account.\n
+ If you have any problems or questions feel free to contact me directly (contacts are available in
+ Main->Menu->About)
+
diff --git a/android-app-core/res/values-it/text_vars.xml b/android-app-core/res/values-it/text_vars.xml
index b40e852b..6b4be3e3 100644
--- a/android-app-core/res/values-it/text_vars.xml
+++ b/android-app-core/res/values-it/text_vars.xml
@@ -11,7 +11,7 @@
tangente) della funzione f(x) = e^x nel punto x = 0 che è uguale a 1
Unità immaginaria, definita come i^2 = -1
- Velocità della luce nel vuoto, m·s
+ Velocità della luce nel vuoto, m·s^-1
La costante gravitazionale è una costante fisica empirica coinvolta nel calcolo
dell\' attrazione gravitazionale tra gli oggetti con massa, m^3·kg^−1·s^−2
@@ -21,6 +21,6 @@
Costante di riduzione di Planck, J·s
Non è un numero
Infinito
- Integrato
+ Built-in
Mie
diff --git a/android-app-core/res/values-pl/text_about.xml b/android-app-core/res/values-pl/text_about.xml
index 0382a502..5cf42d46 100644
--- a/android-app-core/res/values-pl/text_about.xml
+++ b/android-app-core/res/values-pl/text_about.xml
@@ -3,7 +3,7 @@
O aplikacji
Copyright © 2009–2013\n\nStworzona przez serso aka se.solovyev\n\n
-Jesteśmy na Facebooku: http://facebook.com/calculatorpp\n\n
+Jesteśmy na Facebooku:http://facebook.com/calculatorpp\n\n
Program jest rozpowszechniany pod licencją Apache 2.0 License:\nkod źródłowy można znaleźć na\n
http://github.com\n\n
Po więcej informacji proszę\nkontaktować się z autorem poprzez email\n
@@ -15,8 +15,8 @@ Jeżeli podoba Ci się aplikacja\noceń ją na 5 gwiazdek na\n
Ten program używa następujących bibliotek otwartego oprogramowania:\n
Simple (XML serialization)\n
JSCL
- Aplikacja została przetłumaczona na język polski przez:
- Łukasz Witkiewicz
+ Aplikacja została przetłumaczona na język angielski przez:
+ Sergey Solovyev
Informacje o wydaniu
"Informacje o wydaniu dla wersji "
http://www.facebook.com/calculatorpp
diff --git a/android-app-core/res/values-pl/text_operators.xml b/android-app-core/res/values-pl/text_operators.xml
index 214d0126..cd2ad821 100644
--- a/android-app-core/res/values-pl/text_operators.xml
+++ b/android-app-core/res/values-pl/text_operators.xml
@@ -2,12 +2,12 @@
Operatory
- Operacja modulo. Wyznacza resztę z dzielenia \'x\' przez \'y\'
- Sumuje funkcje \'f(i)\' po \'i\', zaczynając interację od \'from\', a kończąc na \'to\'
- Mnoży funkcje \'f(i)\' po \'i\', zaczynając interację od \'from\', a kończąc na \'to\'
+ Operacja modulo wyznacza resztę z dzielenia \'x\' przez \'y\'
+ Sumuje funkcje \'f(i)\' po \'i\', zaczynając od \'from\', a kończąc na \'to\'
+ Mnoży funkcje \'f(i)\' po \'i\', zaczynając od \'from\', a kończąc na \'to\'
Oblicza pochodną stopnia \'order\' (domyślnie = 1) funkcji \'f(x)\' po zmiennej \'x\' i oblicza jej wartość w punkcie \'x_point\' (domyślnie = taki sam jak \'x\')
Oblicza całkę nieoznaczoną z funkcji \'f(x)\' po zmiennej \'x\'
- Całkuje funkcję \'f(x)\' po zmiennej \'x\' od punktu \'a\' do punktu \'b\'
+ Całkuje funkcję \'f(x)\' po zmiennej \'x\' od \'a\' do \'b\'
Oblicza silnię podanego wyrażenia
Oblicza silnię podwójną podanego wyrażenia
Oblicza wartość procentową podanego wyrażenia.\n
diff --git a/android-app-core/res/values-pl/text_preferences.xml b/android-app-core/res/values-pl/text_preferences.xml
index 5b9226f1..74d571c4 100644
--- a/android-app-core/res/values-pl/text_preferences.xml
+++ b/android-app-core/res/values-pl/text_preferences.xml
@@ -5,7 +5,7 @@
Ekran aplikacji będzie obracał się zgodnie z położeniem urządzenia
Pokaż przycisk \'=\'
Przycisk \'=\' pojawi się na ekranie
- Ukryj znaki innych systemów liczbowych
+ Ukryj podstawę systemu liczbowego
Znaki systemów liczbowych o innej podstawie nie będą wyświetlane
Pokaż obliczenia pośrednie w historii
Wszystkie obliczenia będą widoczne w historii
diff --git a/android-app-core/res/values-pl/text_strings.xml b/android-app-core/res/values-pl/text_strings.xml
index 7c3d00db..d91934cb 100644
--- a/android-app-core/res/values-pl/text_strings.xml
+++ b/android-app-core/res/values-pl/text_strings.xml
@@ -28,7 +28,7 @@
Kopiuj
Stwórz wykres
Wykres
- Wyróżnianie wyrażeń
+ Podświetl wyrażenia
Zaokrąglanie wyniku
Włącza zaokrąglanie wyniku
Zawsze notacja naukowa
@@ -48,7 +48,7 @@
Nazwa
Wartość
Opis
- Stwórz zmienną
+ Utwórz zmienną
Edytuj zmienną
Wartość musi być liczbą lub być pusta: jeśli masz parametry - stwórz funkcję zamiast tego!
Nazwa zmiennej pokrywa się z nazwą funkcji!
@@ -83,7 +83,7 @@
Zielony Metro
Fioletowy Metro
Dokładność wyświetlanego wyniku (wszystkie obliczenia są wykonywane przy maksymalnej dokładności, niezależnie od tej opcji)
- Włącza cieniowanie i wyróżnianie w polu edytora (np. nazw funkcji, argumentów)
+ Toggles colouring and styling in calculator editor
Ustawia wygląd kalkulatora
Wyczyść historię
Pokaż/ukryj datę
diff --git a/android-app-core/res/values-pl/text_vars.xml b/android-app-core/res/values-pl/text_vars.xml
index ed6a7e49..1188f314 100644
--- a/android-app-core/res/values-pl/text_vars.xml
+++ b/android-app-core/res/values-pl/text_vars.xml
@@ -3,12 +3,12 @@
Stosunek obwodu koła do jego średnicy. Uwaga: ta stała jest zależna od jednostki => rad: 3.14, deg: 180.0
Stosunek obwodu koła do jego średnicy. Uwaga: ta stała jest niezależna od jednostki => rad: 3.14, deg: 3.14
- Liczba rzeczywista, taka że wartość pochodnej funkcji f(x) = e^x w punkcie x = 0 wynosi 1
+ Liczba rzeczywista, taka że wartość pochodnej (nachylenia stycznej) funkcji f(x) = e^x w punkcie x = 0 wynosi 1
Jednostka urojona, zdefiniowana, tak że i^2 = -1
- Prędkość światła w próżni, [m·s]
- Stała grawitacji jest empiryczną stałą fizyczną służącą do obliczeń przyciągania grawitacyjnego między obiektami posiadającymi masę, [m^3·kg^−1·s^−2]
- Stała Plancka to stała fizyczna, która opisuje wielkość kwantów energii w mechanice kwantowej, [J·s]
- Zredukowana stała Plancka, [J·s]
+ Prędkość światła w próżni, m·s^-1
+ Stała grawitacji jest empiryczną stałą fizyczną służącą do obliczeń przyciągania grawitacyjnego między obiektami posiadającymi masę, m^3·kg^−1·s^−2
+ Stała Plancka to stała fizyczna, która opisuje wielkość kwantów energii w mechanice kwantowej, J·s
+ Zredukowana stała Plancka, J·s
Nie jest liczbą
Nieskończoność
Wbudowane
diff --git a/android-app-core/res/values-ru/text_about.xml b/android-app-core/res/values-ru/text_about.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values-ru/text_functions.xml b/android-app-core/res/values-ru/text_functions.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values-ru/text_operators.xml b/android-app-core/res/values-ru/text_operators.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values-ru/text_preferences.xml b/android-app-core/res/values-ru/text_preferences.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values-ru/text_release_notes.xml b/android-app-core/res/values-ru/text_release_notes.xml
index 91ed0603..998f662d 100644
--- a/android-app-core/res/values-ru/text_release_notes.xml
+++ b/android-app-core/res/values-ru/text_release_notes.xml
@@ -22,9 +22,6 @@
- Примечания к выпуску
- "Примечания к выпуску версии "
-
1. Отклик на нажатие\n
2. Две раскладки кнопок\n
@@ -262,9 +259,18 @@
1. Полностью переработан графопостроитель\n
2. Добавлена возможность построения нескольких функций на одном графике\n
3. Добавлено построение в 3D\n
- 4. Добавлена возможность деать скриншоты графика\n
+ 4. Добавлена возможность делать скриншоты графика\n
5. Исправлены проблемы с пользовательскими функциями\n
6. Другие исправления
+
+ 1. Немецкий и польский языки\n
+ 2. Визард\n
+ 3. Улучшения графопостроителя\n
+ 4. Исправлена пролема с Asin(i)\n
+ 5. Греческие буквы для названий переменных\n
+ 6. Другие исправления и улучшения
+
+
\ No newline at end of file
diff --git a/android-app-core/res/values-ru/text_strings.xml b/android-app-core/res/values-ru/text_strings.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values-ru/text_vars.xml b/android-app-core/res/values-ru/text_vars.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values-uk/text_about.xml b/android-app-core/res/values-uk/text_about.xml
index 320bd594..dd8fc721 100644
--- a/android-app-core/res/values-uk/text_about.xml
+++ b/android-app-core/res/values-uk/text_about.xml
@@ -2,9 +2,22 @@
Про програму
- Авторське право © 2009–2013\n\n Розроблено serso aka se.solovyev \n\n Ми на Facebook: http://facebook.com/calculatorpp\n\n Ця програма розповсюджується на умовах ліцензії Apache 2.0 : \n Джерельний код програми можна знайти на\n http://github.com \n\n За докладнішою інформацією, будь ласка, \n зв\'яжіться з автором через електронну пошту\n se.solovyev@gmail.com, \n або відвідайте\n http://se.solovyev.org \n\n Для підтримки проекту\n ви можете придбати спеціальний пункт в налаштуваннях програми\n\n Якщо вам подобається програма,\n то оцініть її в 5 зірок на\n Google Play \n\n Ця програма використовує такі бібліотеки з відкритим кодом: \n Simple (XML serialization) \n JSCL
- Український переклад:
- Андрієм Бандурою та sergniko
+ Copyright © 2009–2013\n\nCreated by serso aka se.solovyev\n\n
+ We are on Facebook: http://facebook.com/calculatorpp\n\n
+ This program is distributed under Apache 2.0 License:\nsource code can be found on\n
+ http://github.com\n\n
+ For more information please\ncontact the author by email\n
+ se.solovyev@gmail.com
+ \nor visit\nhttp://se.solovyev.org\n\n
+ If you want to support the project\nyou can buy a special option from application preferences\n\n
+ If you like the application\nrate it with 5 stars on\n
+ Google Play\n\n
+ This application uses next open source libraries:\n
+ Simple (XML serialization)\n
+ JSCL
+
+ This app is translated to Ukrainian by:
+
Замітки до випуску
"Замітки до випуску версії "
http://www.facebook.com/calculatorpp
diff --git a/android-app-core/res/values-uk/text_functions.xml b/android-app-core/res/values-uk/text_functions.xml
index f660274b..44ae7a13 100644
--- a/android-app-core/res/values-uk/text_functions.xml
+++ b/android-app-core/res/values-uk/text_functions.xml
@@ -2,34 +2,46 @@
Функції
- Тригонометрична функція - синус
- Тригонометрична функція - косинус
- Тригонометрична функція - тангенс
- Тригонометрична функція - котангенс
- Арксинус - обернена до синуса функція
- Арккосинус - обернена до косинуса функція
- Арктангенс - обернена до косинуса функція
- Арккотангенс - обернена до котангенса
- Натуральний логарифм - логарифм за основою e
+ Тригонометрична фунція синус
+ Тригонометрична функція косинус
+ Тригонометрична функція тангенс
+ Тригонометрична функція котангенс
+ Arcsine - inverse sine function
+ Arccosine - inverse cosine function
+ Arctangent - inverse tangent function
+ Arccotangent - inverse cotangent function
+ Натуральний логариф - логарифм за основою e
Десятковий логарифм - логарифм за основою 10
Логарифм - логарифм за заданою основою
Експонента
Квадратний корінь
Кубічний корінь
- Обчислює абсолютне значення (модуль) аргументу
- Обчислює знак аргументу: -1 - якщо аргумент менший за 0, 0 - якщо дорівнює 0, 1 - якщо більший за 0
- Функція рівності - дає результат 1, якщо обидва аргументи рівні, інакше 0
- Функція менше або дорівнює - дає 1, якщо перший аргумент менший або дорівнює другому, 0 - в іншому випадку
- Функція більше або дорівнює - дає 1, якщо перший аргумент більший або дорівнює другому, 0 - в іншому випадку
- Функція не-дорівнює - дає 1, якщо перший аргумент не дорівнює другому, інакше - 0
+ Gives absolute value of an argument
+ Gives the sign of an argument: -1 if argument is less than 0, 0
+ if equals to 0, 1 if more than 0
- Функція менше - дає 1, якщо перший аргумент менший другого, 0 - в іншому випадку
- Функція більше - дає 1, якщо перший аргумент більший за другий, 0 - в іншому випадку
- Перетворює градуси у радіани: d - градуси, m - мінути (типово= 0), s - секунди (типово= 0)
+ Фунцкія рівності - дає результат 1, якщо обидва аргументи рівні, інакше 0
- Перетворює градуси із запису градус, мінута, секунда у десятковий запис: d - градуси, m - мінути (типово = 0), s - секунди (типово = 0)
+ Lesser-or-equals function - gives 1 if two arguments are equals or first is less
+ than second, 0 otherwise
- Перетворює радіани у градуси
+ Greater-or-equals function - gives 1 if two arguments are equals or first is
+ greater than second, 0 otherwise
+
+ Not-equals function - gives 1 if two arguments are not equals, 0 otherwise
+
+ Lesser function - gives 1 if first argument is less than second, 0 otherwise
+
+ Greater function - gives 1 if first argument is greater than second, 0
+ otherwise
+
+ Converts degrees into radians: d - degrees, m - minutes (default = 0), s -
+ seconds (default = 0)
+
+ Converts degrees from DMS notation to decimal notation: d - degrees, m -
+ minutes (default = 0), s - seconds (default = 0)
+
+ Converts radians into degrees
Тригонометричні
Гіперболічні
Порівняння
diff --git a/android-app-core/res/values-uk/text_operators.xml b/android-app-core/res/values-uk/text_operators.xml
index 77602631..b9bcfd04 100644
--- a/android-app-core/res/values-uk/text_operators.xml
+++ b/android-app-core/res/values-uk/text_operators.xml
@@ -2,16 +2,20 @@
Оператори
- Операція ділення за модулем обчислює остачу від ділення \'x\' на \'y\'
- Сумує функції \'f(i)\', де змінна \'i\' міняється від \'from\' до \'to\'.
+ Modulo operation finds the remainder of division of \'x\' by \'y\'
+ Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'
- Обчислює добуток функцій \'f(i)\', де змінна \'i\' міняється від \'from\' до \'to\'.
+ Gives product of functions \'f(i)\', iterating through \'i\' from \'from\'
+ to \'to\'
- Повертає похідну порядку \'order\' (типово = 1) функції \'f(x)\' по змінній \'x\' та обчислює її значення у точці \'x_point\' (типово = така ж як \'x\')
- Повертає інтеграл від функції \'f(x)\' по змінній \'x\'
- Обчислює інтеграл від функції \'f(x)\' по змінній \'x\' від \'a\' до \'b\'
- Обчислює факторіал попередного виразу
- Обчислює подвійний факторіал попереднього виразу
+ Gives derivative of order \'order\' (default = 1) of functions \'f(x)\'
+ by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\')
+
+ Gives integral of function \'f(x)\' by \'x\' variable
+ Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'
+
+ Gives the factorial of the expression before
+ Gives the double factorial of the expression before
Обчислює відсоток від попереднього виразу.\nПриклади:\n
100 + 50% = 150\n
100 * 50% = 50\n
diff --git a/android-app-core/res/values-uk/text_strings.xml b/android-app-core/res/values-uk/text_strings.xml
index ba541026..e83034d4 100644
--- a/android-app-core/res/values-uk/text_strings.xml
+++ b/android-app-core/res/values-uk/text_strings.xml
@@ -2,12 +2,12 @@
Калькулятор++
- Калькулятор + + (віконний режим)
+ Calculator++ (Window mode)
Калькулятор++ Free
Кальк++
Налаштування
Помилка
- Результат був скопійований до буферу обміну!
+ Result has been copied to the clipboard!
Налаштування
Допомога
Змінні та константи
@@ -20,17 +20,17 @@
Вгору
Перезавантаження
назад
- повторити
+ вперед
C
-
+ вилучити
вставити
змінні
Копіювати
Побудувати графік
Графік
Підсвітка виразів
- Округлювати результат
- Включити/вимкнути округлення результату
+ Заокруглювати результат
+ Включити/вимкнути заокруглення результату
Завжди експоненціальна форма
Якщо включено, то результат буде записано лише у експоненціальній
формі (12.34E-12)
@@ -54,23 +54,25 @@
Опис
Створити змінну
Редагувати змінну
- Значення має бути відсутнім або числом: якщо ви використовуєте параметри - визначте функцію замість цього!
+ Значення може бути порожнім або числом!
Ім’я змінної не може бути зарезервованим системним ім’ям!
Змінна з таким іменем вже існує!
- Неприпустиме ім\'я змінної: ім\'я має починатися з літери, може містити літери, цифри та знак підкреслення(_).
+ Невірне ім’я змінної: воно мусить починатися з букви, може містити букви, цифри
+ та знак підкреслення (_).
+
Системну змінну не можна змінювати!
Введіть новий вираз
- Натисніть для копіювання
+ натисніть для копіювання
Продовжити
Історія
M
- Історія порожня!
- Історія
+ Іторія порожня!
+ Іторія
Символ \'%s\' не допустимий у імені змінної!
Одиниці виміру кутів
Градуси
Радіани
- Гради
+ Градуси
Обороти
Визначає типову одиницю виміру кутів.
Системи числення
@@ -86,26 +88,26 @@
Метро Синя (типова)
Метро Зелена
Метро Пурпурова
- Точність відображення результату (усі обчислення проводяться максимально точно, незалежно від цього параметру)
+ Точність результату (усі обчислення проводяться максимально точно)
- Вмикнути/вимкнути підсвітку у редакторі калькулятора
+ Включити/вимкнути підсвітку у редакторі калькулятора
Встановити тему калькулятора
Очистити історію
- Відображення дати
- Наступні константи невизначені: {0}!
- Не використовувати роздільник розрядів
+ Show/hide date
+ наступні сталі невизначені: {0}!
+ Не використовувати роздільник класів
Апостроф (\')
- Пробіл ( )
- Роздільник розрядів
- Задає роздільник розрядів
+ Пропуск ( )
+ Роздільник класів
+ Задає роздільник класів
Знак множення
- Задає вигляд знаку множення
+ Задає знак множення
Розкладка
Наукова (телефон)
Наукова
- Науковий (великі кнопки)
+ Scientific (Big buttons)
Проста
- Простий (великі кнопки)
+ Simple (Big buttons)
Задає розкладку кнопок
Вібрація при натисканні
Включити/виключити вібрацію при натисканні
@@ -113,14 +115,16 @@
Середня
Велика
Тривалість вібрації
- Тривалість вібрації при натисканні
+ Тривалість вібрації на натискання
Не можна створити порожню константу!
Поточний результат не допустимий!
Графік
Від
До
Відстань розмаху (свайпу) для кнопок
- Задає відстань розмаху для кнопок, які підтримують додаткові дії для свайпу
+ Задає відстань розмаху для кнопок, які підтримують додаткові дії для
+ свайпу
+
Коментар
Збережено
Не збережено
@@ -152,7 +156,7 @@
після оновлення до нової версії
Визначити поведінку кнопку Назад
- Використовувати кнопку Назад як крок назад по історії
+ Використовувати кнопку Назад як назад по історії
Інформація про купівлю буде оновлена із сервера
Очистити інформацію про купівлю
Увага
@@ -173,7 +177,12 @@
коментар або \nобговоріть програму \nна
Facebook
- Гарні новини - я щойно випустив нову програму для Android, яка називається Notes++. \n Якщо ви зацікавлені в швидкому і простому способі створення нотатків, будь ласка, перейдіть за посиланням та спробуйте Notes++!
+ Good news - I just released new application for Android called
+ Notes++.\n
+ If you\'re interesting in fast and easy way of making notes please follow the
+ link
+ and try Notes++!
+
Одиниці виміру кутів змінено на \'%s\'!
Система числення змінена на \'%s\'!
Перетворення чисел
@@ -181,101 +190,133 @@
Перетворити в hex
Перетворити в bin
Перетворити в dec
- Редактор
- Результат
- Інші
- Похідні/Інтеграли
- Калькулятор++ аварійно завершив роботу...
- Звіт Калькулятор++ про аварійне завершення роботи
- На жаль, Калькулятор++ аварійно завершив свою роботу.\n\n Для того, щоб вирішити проблему нам необхідна деяка інформація. Наполегливо рекомендуємо відправити звіт, щодо аварійного завершення, електронною поштою (після натискання кнопки \'Ok\' , ви побачите в новому вікні всі дані, які будуть відправлені).\n\n Ви хочете надіслати звіт?
- Налаштування графіків
- Інтерполювати графік функції
- Якщо позначено, кубічна інтерполяція буде використовуватися для побудови графіків функції
- Колір дійсної частини графіку функції
- Встановлює колір дійсної частини графіку функції
- Колір уявної частини графіку функції
- Встановлює колір уявної частини графіку функції
- Білий
- Сірий
- Червоний
- Синій
- Зелений
- Ім’я
- Значення
- Опис
- Параметри
- Визначити функцію
- Змінити функцію
- Неприпустиме ім\'я функції: ім\'я має починатися з літери, може містити літери, цифри та знак підкреслення (_).
- Функція з таким ім\'ям вже існує!
- Тіло функції не може бути відсутнім!
- Параметр функції не може бути відсутнім!
- Ви дійсно хочете видалити функцію \'%s\'?
- Не вдалося створити порожню функцію!
- Не показувати це повідомлення до наступної сесії
- Попередження Калькулятор++
- Арифметична помилка під час відображення: %s
+ Editor
+ Result
+ Other
+ Derivatives/Integrals
+ Calculator++ has crashed…
+ Calculator++ crash report
+
+ Unfortunately, Calculator++ has crashed.\n\n
+ In order to fix the problem we need some information about it. It\'s highly recommended to send crash report via
+ email (after pressing \'Ok\' button you will see all sent data in the new window).\n\n
+ Do you want to send crash report?
+
+ Graph settings
+ Interpolate function\'s graph
+ If checked cubic interpolation will be used in function
+ graph drawing
+
+ Color of real part of functions graph
+ Sets color of real part functions graph
+ Color of imaginary part of functions graph
+ Sets color of imaginary part functions graph
+ White
+ Grey
+ Red
+ Blue
+ Green
+ Name
+ Value
+ Description
+ Parameters
+ Create function
+ Edit function
+ Name of function is not valid: name must start with letter, can contain
+ letters, digits and underscore.
+
+ Function with same name already exists!
+ Function body could not be empty!
+ Function parameter should not be empty!
+ Do you really want to delete \'%s\' function?
+ Unable to create empty function!
+ Do not show this message until next session
+ Calculator++ warning
+ Arithmetic error occurred while plotting: %s
OK
- Відображати повідомлення розрахунків у діалоговому вікні
- Якщо ввімкнуто, то будь-які повідомлення, які виникнуть під час обчислень, будуть показані у відповідному діалоговому вікні
- Виправити
- Система числення за умовчанням
- Визначає систему числення за умовчанням
- Система числення за умовчанням (\'%1$s\') відрізняється від поточної - \'%2$s\'. Забули змінити?
- Типові одиниці виміру кута
- Визначає типові одиниці вимірювання кутів
- Типова одиниця виміру кутів - \'%1$s\', що відрізняється від поточного - \'%2$s\'. Забули змінити?
- Закрити
- Калькулятор++ віджет (3х3)
- Калькулятор++ віджет (3х4)
- Калькулятор++ віджет (4х4)
- Калькулятор++ віджет (4х5)
- Клацніть, щоб відкрити калькулятор у віконному режимі
- Параметри Калькулятор++ (в окремому вікні)
- Запускати під час завантаження системи
- Якщо ввімкнуто, Калькулятор++ з\'явиться на панелі сповіщень після завантаження системи
- Показувати окремий значок (вимагає перезавантаження)
- Якщо ввімкнено, додатковий значок буде показано у списку програм
- Ви можете видалити додатковий значок у списку програм в налаштуваннях або натиснувши кнопку Далі
- Ця зміна може вимагати перезавантаження
- 2D графік
- 3D графік
- Функції на графіку
- Відображати уявну частину функції на графіку
- Якщо позначено, то буде відображатися уявна частина функції на графіку
- Монотонний
- Карта кольорів (тільки 3D)
- Неперервна (-----)
- Штрихова (- - -)
- Пунктирна (. . .)
- Штрих-пунктирна (-.-.-)
- Графобудівник функцій
- Зробити знімок екрана
- Знімок екрану успішно збережено: %1$s!
- Знімок екрану не може бути збережений через те, що SD-карта не змонтована. Змонтуйте SD-карту та спробуйте ще!
- Тип кольору лінії
- Колір лінії
- Стиль лінії
- Ширина лінії
- Налаштування функцій
- Функція
- Закріплені
- Видима
- +граф
- Не вдалося відобразити пусту функцію!
- Не вдалося відобразити: занадто багато змінних!
- Діапазон графіка
- Повноекранний режим
- X мін
- X макс
- Y мин
- Y макс
- Неприпустиме значення!
- Границі графіку не повинні бути однаковими!
- Застосувати
- Повідомлення
- Продовжити
- Підтримка проекту - це легко та безпечно: процес покупки контролюється Google і все, що вам необхідно це належним чином налаштувати профіль Google.\n\n Інформація про оплату зберігається на серверах Google з вашим обліковим записом Google і ви легко можете використовувати цю програму на кількох пристроях.\n\n Натисніть кнопку \"Продовжити\" і ви будете перенаправлені на Google Play для здійснення платежу.
- Придбати
- Дякуємо вам за підтримку цієї програми! \n\n Затримка в декілька хвилин може виникнути, поки програма буде проінформована про покупку. Ви завжди можете перевірити інформацію про покупку в обліковому запису Google. \n Якщо у вас є будь які проблеми або питання, не соромтеся зв\'язатися зі мною безпосередньо (контакти доступні в Головна -> Меню -> Про програму)
+ Show calculation messages in dialog
+ If turned on if any message occurred while calculations
+ special dialog will be shown
+
+ Fix
+ Default numeral system
+ Defines the default numeral system
+ Default numeral system \'%1$s\' differs from current \'%2$s\'. Forgot
+ to change back?
+
+ Default angle units
+ Defines the default angle units
+ Default angle units \'%1$s\' differs from current \'%2$s\'. Forgot to
+ change back?
+
+ Close
+ Calculator++ Widget (3x3)
+ Calculator++ Widget (3x4)
+ Calculator++ Widget (4x4)
+ Calculator++ Widget (4x5)
+ Click to open calculator in window mode
+ Calculator (in separate window) settings
+ Start on boot
+ If turned on Calculator++ will appear in notification bar after
+ device boot
+
+ Show separate icon (require reboot)
+ If turned on second icon will be shown in applications\' list
+
+ You can remove second icon in applications\' list from application
+ settings or by pressing next button
+
+ This change may require reboot
+ 2D plot
+ 3D plot
+ Graph functions
+ Plot imaginary part of function
+ If checked imaginary part of function will be plotted
+ Monochrome
+ Color map (only 3D)
+ Solid (-----)
+ Dashed (- - -)
+ Dotted (. . .)
+ Dot-dashed (-.-.-)
+ Function plotter
+ Capture screenshot
+ Screenshot successfully saved: %1$s!
+ Screenshot cannot be saved as SD card is not mounted. Mount SD
+ card and try again!
+
+ Line color type
+ Line color
+ Line style
+ Line width
+ Function settings
+ Function
+ Pinned
+ Visible
+ +plot
+ Unable to plot empty function!
+ Unable to plot: too many variables!
+ Graph range
+ Fullscreen
+ X Min
+ X Max
+ Y Min
+ Y Max
+ Invalid number!
+ Graph boundaries should not be the same!
+ Apply
+ Message
+ Continue
+ Supporting the project is easy and secure: purchase process is provided by Google
+ and all you need is a properly configured Google account.\n\n
+ Payment information is stored in Google servers with your Google account and you can easily use application on
+ several devices.\n\n
+ By clicking \'Continue\' button you will be redirected to the Google Play app to make the payment.
+
+ Purchase
+ Thank you for supporting the application!\n\n It might take several
+ minutes until app will be informed about the purchase. You always can check information about the purchase in
+ your Google Account.\n
+ If you have any problems or questions feel free to contact me directly (contacts are available in
+ Main->Menu->About)
+
diff --git a/android-app-core/res/values-uk/text_vars.xml b/android-app-core/res/values-uk/text_vars.xml
index eff5654c..317f2181 100644
--- a/android-app-core/res/values-uk/text_vars.xml
+++ b/android-app-core/res/values-uk/text_vars.xml
@@ -1,24 +1,24 @@
- Відношення довжини кола до його діаметру. Увага: ця константа залежить від одиниць виміру
+ Відношення довжини кола до діаметру. Увага: ця стала залежить від одиниць виміру
кутів => rad: 3.14, deg: 180.0
- Відношення довжини кола до діаметру. Увага: ця константа не залежить від одиниць
+ Відношення довжини кола до діаметру. Увага: ця стала не залежить від одиниць
виміру кутів => rad: 3.14, deg: 3.14
- Константа e - дійсне число таке, що похідна функції (кутовий коефіцієнт дотичної)
+ стала e - дійсне число таке, що похідна функції (кутовий коефіцієнт дотичної)
f(x) = e^x в точці x = 0 дорівнює 1
Уявна одиниця, визначається як i^2 = −1
- Швидкість світла у вакуумі, м·с
- Гравітаційна константа - емпірична фізична стала, необхідна для розрахунку сили
+ Швидкість світла у вакуумі, м·с^-1
+ Гравітаційна стала - емпірична фізична стала, необхідна для розрахунку сили
гравітаційної взаємодії між двома об’єктами з масою, м^3·кг^−1·с^−2
- Константа Планка - коефіцієнт, який пов’язує величину енергії електромагнітного
+ Стала Планка - коефіцієнт, який пов’язує величину енергії електромагнітного
випромінюювання з його частотою, Дж·с
- Зведена константа Планка, Дж·с
+ Зведена стала Планка, Дж·с
Не число
Нескінченність
Вбудовані
diff --git a/android-app-core/res/values-zh-rtw/text_operators.xml b/android-app-core/res/values-zh-rtw/text_operators.xml
index 7ae97799..c9636999 100644
--- a/android-app-core/res/values-zh-rtw/text_operators.xml
+++ b/android-app-core/res/values-zh-rtw/text_operators.xml
@@ -1,23 +1,29 @@
- 运算符
- 取 \'x\' 除以 \'y\' 的余数
- 求和函数“f(i)”,计算“i”从“from”到“to”的和
- 求积函数“f(i)”,计算“i”从“from”到“to”的乘积
- 计算针对于函数“f(x)”中变量x在给定参数(默认为1)时的导数并且计算在点“x_point”时函数的值。
- 计算函数“f(x)”对“x”的积分。
- 计算函数“f(x)”对“x”从“a”到“b”的定积分。
- 计算前面表达式的阶乘
- 计算前面表达式的二次阶乘
- 计算前面表达式的百分比。
-\n例如:\n
-100 + 50% = 150\n
-100 * 50% = 50\n
-100 + 100 * 50% * 50% = 125
- 将度转换为弧度。\n
-例如:\n
-268° = 4.67748\n
-30.21° = 0.52726
+ 運算子
+ Modulo operation finds the remainder of division of \'x\' by \'y\'
+ Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'
+
+ Gives product of functions \'f(i)\', iterating through \'i\' from \'from\'
+ to \'to\'
+
+ Gives derivative of order \'order\' (default = 1) of functions \'f(x)\'
+ by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\')
+
+ Gives integral of function \'f(x)\' by \'x\' variable
+ Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'
+
+ Gives the factorial of the expression before
+ Gives the double factorial of the expression before
+ 百分比.\n例:\n
+ 100 + 50% = 150\n
+ 100 * 50% = 50\n
+ 100 + 100 * 50% * 50% = 125
+
+ 將角度轉換為弳度.\n
+ 例:\n
+ 268° = 4.67748\n
+ 30.21° = 0.52726
diff --git a/android-app-core/res/values-zh-rtw/text_preferences.xml b/android-app-core/res/values-zh-rtw/text_preferences.xml
index 2ab09cd3..5709ad50 100644
--- a/android-app-core/res/values-zh-rtw/text_preferences.xml
+++ b/android-app-core/res/values-zh-rtw/text_preferences.xml
@@ -1,16 +1,19 @@
- 自动旋转屏幕
- 如果开启此选项,应用将随设备自动旋转屏幕。
- 显示等于按钮
- 如果开启此选项,将显示等于按钮
- 隐藏其他进制的数字
- 如果开启此选项,其他进制的数字将被隐藏
- 在历史记录中显示中间计算
- 如果开启此选项,所有的计算都将显示在历史记录中
- 在输入时计算结果
- 如果开启此选项,将在输入时自动完成运算
- 防止屏幕变暗
- 如果开启此选项,在使用此应用时屏幕将不会变暗
+ Auto-rotate screen
+ If turned on app will rotate screen with device
+ 顯示「等於」按鈕
+ 是否顯示「等於」按鈕
+ 隱藏其他進位的數字
+ 是否隱藏目前進位制以外的數字鍵
+ Show intermediate calculations in history
+ If turned on all calculations will be shown in the
+ history screen
+
+ Result is calculated while typing
+ If turned on calculations are done automatically while typing
+ Prevent screen from fading
+ If turned on screen will not fade while using the app
+
diff --git a/android-app-core/res/values/styles.xml b/android-app-core/res/values/styles.xml
index 265df1c0..0e7ab792 100644
--- a/android-app-core/res/values/styles.xml
+++ b/android-app-core/res/values/styles.xml
@@ -66,6 +66,7 @@
- true
- 1
- 1
+ - 1
- horizontal
diff --git a/android-app-core/res/values/text_about.xml b/android-app-core/res/values/text_about.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values/text_functions.xml b/android-app-core/res/values/text_functions.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values/text_operators.xml b/android-app-core/res/values/text_operators.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values/text_preferences.xml b/android-app-core/res/values/text_preferences.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values/text_release_notes.xml b/android-app-core/res/values/text_release_notes.xml
index ed2cba67..5fa9fdca 100644
--- a/android-app-core/res/values/text_release_notes.xml
+++ b/android-app-core/res/values/text_release_notes.xml
@@ -22,6 +22,7 @@
+ 1.1.4
1. Haptic feedback\n
2. Two layouts: calculator and cellphone\n
@@ -29,12 +30,14 @@
4. ERROR message is not so often now
+ 1.1.5
1. Screen with all functions\n
2. Added support for decimal logarithm, factorial, comparison functions\n
3. Haptic feedback duration preference
+ 1.1.6
1. Saving constants in two clicks (use +π button)\n
2. Result size is auto adjusted to fill all spare space\n
@@ -43,6 +46,7 @@
5. Degrees added (use °: e.g. 30° and result will be converted into radians)
+ 1.1.7
1. Support for entering numbers in scientific notation (2.3E2)\n
2. Added functions: deg(), rad() to convert from radians to degrees and vice versa\n
@@ -53,11 +57,13 @@
6. Fixed bug with displaying result
+ 1.1.8
1. Fixed bug with i^3\n
2. Fixed crash in case of many brackets
+ 1.1.9
1. Percentage calculations.\n
Examples:\n
@@ -70,6 +76,7 @@
100+50%^2=2600, but 100+50^2%=101.08
+ 1.1.12
1. Help screen added\n
2. Support for differentiation, integration, calculation of sum and product.\n
@@ -81,11 +88,13 @@
∫ab(x, x, 0, 10)=50.0
+ 1.1.13
1. Fixed crashes\n
2. Added variables on the main screen
+ 1.1.14
1. Support for different angle units: radians, degrees, gradians, turns\n
2. Easy toggling between radians and degrees: use the toggle switch located on the 6 button\n
@@ -93,12 +102,14 @@
4. Fixed bug with simplification of √(π^2)
+ 1.1.15
1. Added functions\' plotting: type expression which contains 1 undefined variable (e.g. cos(t)) and click on
the result. In the context menu choose \'Plot graph\'. Supported features: zoom in/out, moving graph, plotting
imaginary part
+ 1.1.16
1. Buttons swipe preference\n
2. Added support for different numeral bases (currently supported: dec, bin, oct). Dec and bin can be chosen
@@ -107,6 +118,7 @@
4. Performance improvements in functions\' plotting
+ 1.2.20
1. New swipe actions (left, right)\n
2. Extended history: save, remove, copy, use from history screen (use long click for additional actions)\n
@@ -117,6 +129,7 @@
6. Bug fixes: correct double factorial calculation, 20x fix, e^(pi*i)+1 fix and others
+ 1.2.21
1. Release notes screen added\n
2. Added categories in functions and constants screens\n
@@ -127,17 +140,20 @@
6. Variant of π constant independent from angle units
+ 1.2.22
1. Fix for missing cursor in Android 3 and higher\n
2. Fix for substituting 3.14... with Π constant
+ 1.2.23
1. Fix for calculating inverse trigonometric functions in complex field\n
2. Removed time delay for calculation\n
3. Fix the problem with 200 - 10% = π
+ 1.2.24
Note from developer\n\n
Sorry to inform you but this version of application brings built-in ads.\n
@@ -153,6 +169,7 @@
or help to translate the application to your native language.
+ 1.2.25
1. Integration of ln() and lg()\n
2. Last opened tab is remembered now (history, variables etc)\n
@@ -162,6 +179,7 @@
6. Double zero (00) key
+ 1.2.26
1. Integration of trigonometric functions is disabled for not radian angles\n
2. Bug with 1/0 = -1/0 fixed\n
@@ -169,6 +187,7 @@
4. Other small fixes
+ 1.2.27
Note from developer:\n\n
I\'m glad to inform you that I\'ve started a forum for Calculator++: http://facebook.com/calculatorpp.\n
@@ -182,6 +201,7 @@
5. Other small fixes
+ 1.2.28
1. New Metro theme with 3 color variations (old themes are still available)\n
2. Simple layout (Default layout is still scientific)\n
@@ -195,6 +215,7 @@
10. Billing problems fixes
+ 1.2.31
1. Ukrainian localization (Андрій Бандура)\n
2. HEX digits are not shown in not HEX mode\n
@@ -207,12 +228,14 @@
9. Wrong lg() integration and differentiation fixed
+ 1.2.34
1. Virtual keyboard are now not shown on Android 4 ICS\n
2. Fast number conversion from display context menu\n
3. Minor GUI fixes
+ 1.4.0
1. We are now on Facebook: facebook.com/calculatorpp\n
2. Tablet support (new awesome UI)\n
@@ -223,17 +246,20 @@
7. Chinese translations
+ 1.4.1
1. UI improvements for 4-7 inches displays\n
2. Ans variable (last calculated value)
+ 1.4.2
1. Calculator++ widget for home screen (works only if app installed in phone memory)\n
2. Mobile phone layout for tablets (Preferences->Appearance Preferences->Layout->Scientific (Mobile))\n
3. Manual calculations (Preferences->Calculations Preferences->Result is calculated…)
+ 1.4.4
1. Support for user-defined functions (see +f button or + button inside functions screen)\n
2. Widget in different sizes: 3x3, 3x4, 4x4, 4x5\n
@@ -244,17 +270,20 @@
7. Bug fixes
+ 1.5.1
1. Calculator in separate window\n
2. UI is fixed for some devices
+ 1.5.2
1. Possibility to remove icon for Calculator++ in separate window\n
2. Fixed some crashes (editing, plotting)\n
3. Fixed flicker for Calculator++ in separate window
+ 1.6.2
1. Graph plotter completely reworked\n
2. Added support for graphing several functions\n
@@ -264,4 +293,14 @@
6. Other fixes
+ 2.0.0
+
+ 1. German and Polish translations\n
+ 2. Wizard\n
+ 3. Graph improvements\n
+ 4. Asin(i) problem fix\n
+ 5. Greek letters for variable names\n
+ 6. Other fixes
+
+
\ No newline at end of file
diff --git a/android-app-core/res/values/text_strings.xml b/android-app-core/res/values/text_strings.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values/text_vars.xml b/android-app-core/res/values/text_vars.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/res/values/text_wizard.xml b/android-app-core/res/values/text_wizard.xml
old mode 100755
new mode 100644
diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java b/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java
index 6915718d..a1d84bb2 100644
--- a/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java
+++ b/android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButton.java
@@ -32,6 +32,16 @@ import org.solovyev.android.calculator.core.R;
import java.util.HashMap;
import java.util.Map;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.cursor_left;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.cursor_right;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.functions_detached;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.history_detached;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.like;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.open_app;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.operators_detached;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.settings_detached;
+import static org.solovyev.android.calculator.CalculatorSpecialButton.vars_detached;
+
/**
* User: serso
* Date: 10/20/12
@@ -54,16 +64,17 @@ public enum CalculatorButton {
period(R.id.cpp_button_period, "."),
brackets(R.id.cpp_button_round_brackets, "()"),
- settings(R.id.cpp_button_settings, CalculatorSpecialButton.settings_detached),
+ settings(R.id.cpp_button_settings, settings_detached),
like(R.id.cpp_button_like, CalculatorSpecialButton.like),
/*last row*/
- left(R.id.cpp_button_left, CalculatorSpecialButton.cursor_left),
- right(R.id.cpp_button_right, CalculatorSpecialButton.cursor_right),
- vars(R.id.cpp_button_vars, CalculatorSpecialButton.vars_detached),
- functions(R.id.cpp_button_functions, CalculatorSpecialButton.functions_detached),
- app(R.id.cpp_button_app, CalculatorSpecialButton.open_app),
- history(R.id.cpp_button_history, CalculatorSpecialButton.history_detached),
+ left(R.id.cpp_button_left, cursor_left),
+ right(R.id.cpp_button_right, cursor_right),
+ vars(R.id.cpp_button_vars, vars_detached),
+ functions(R.id.cpp_button_functions, functions_detached),
+ operators(R.id.cpp_button_operators, operators_detached),
+ app(R.id.cpp_button_app, open_app),
+ history(R.id.cpp_button_history, history_detached),
/*operations*/
multiplication(R.id.cpp_button_multiplication, "*"),
diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java b/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java
index 995ced40..d55e3b5a 100644
--- a/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java
+++ b/android-app-core/src/main/java/org/solovyev/android/calculator/model/AndroidCalculatorEngine.java
@@ -274,12 +274,12 @@ public class AndroidCalculatorEngine implements CalculatorEngine, SharedPreferen
}
@Nonnull
- public NumeralBase getNumeralBaseFromPrefs(@Nonnull SharedPreferences preferences) {
+ public static NumeralBase getNumeralBaseFromPrefs(@Nonnull SharedPreferences preferences) {
return Preferences.numeralBase.getPreference(preferences);
}
@Nonnull
- public AngleUnit getAngleUnitsFromPrefs(@Nonnull SharedPreferences preferences) {
+ public static AngleUnit getAngleUnitsFromPrefs(@Nonnull SharedPreferences preferences) {
return Preferences.angleUnit.getPreference(preferences);
}
diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java b/android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java
index 776c94b3..67522b5f 100644
--- a/android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java
+++ b/android-app-core/src/main/java/org/solovyev/android/calculator/view/AngleUnitsButton.java
@@ -27,6 +27,7 @@ import android.content.res.Resources;
import android.graphics.Paint;
import android.text.TextPaint;
import android.util.AttributeSet;
+import jscl.AngleUnit;
import javax.annotation.Nonnull;
@@ -41,8 +42,12 @@ import org.solovyev.android.view.drag.DirectionDragButton;
*/
public class AngleUnitsButton extends DirectionDragButton {
+ @Nonnull
+ private AngleUnit angleUnit;
+
public AngleUnitsButton(Context context, @Nonnull AttributeSet attrs) {
super(context, attrs);
+ this.angleUnit = Locator.getInstance().getEngine().getAngleUnits();
}
@Override
@@ -52,11 +57,32 @@ public class AngleUnitsButton extends DirectionDragButton {
super.initDirectionTextPaint(basePaint, directionTextData, resources);
final TextPaint directionTextPaint = directionTextData.getPaint();
- if (Locator.getInstance().getEngine().getAngleUnits().name().equals(directionTextData.getText())) {
- directionTextPaint.setColor(resources.getColor(R.color.cpp_selected_angle_unit_text_color));
- } else {
- directionTextPaint.setColor(resources.getColor(R.color.cpp_default_text_color));
+ final int color = getDirectionTextColor(directionTextData.getText());
+ directionTextPaint.setColor(color);
+ if (!isCurrentAngleUnits(directionTextData.getText())) {
directionTextPaint.setAlpha(getDirectionTextAlpha());
}
}
+
+ int getDirectionTextColor(@Nonnull String directionText) {
+ final int color;
+ final Resources resources = getResources();
+ if (isCurrentAngleUnits(directionText)) {
+ color = resources.getColor(R.color.cpp_selected_angle_unit_text_color);
+ } else {
+ color = resources.getColor(R.color.cpp_default_text_color);
+ }
+ return color;
+ }
+
+ boolean isCurrentAngleUnits(@Nonnull String directionText) {
+ return this.angleUnit.name().equals(directionText);
+ }
+
+ public void setAngleUnit(@Nonnull AngleUnit angleUnit) {
+ if (this.angleUnit != angleUnit) {
+ this.angleUnit = angleUnit;
+ invalidate();
+ }
+ }
}
diff --git a/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java b/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java
index af4ab8e2..78080b10 100644
--- a/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java
+++ b/android-app-core/src/main/java/org/solovyev/android/calculator/view/NumeralBasesButton.java
@@ -27,6 +27,7 @@ import android.content.res.Resources;
import android.graphics.Paint;
import android.text.TextPaint;
import android.util.AttributeSet;
+import jscl.NumeralBase;
import javax.annotation.Nonnull;
@@ -41,8 +42,12 @@ import org.solovyev.android.view.drag.DirectionDragButton;
*/
public class NumeralBasesButton extends DirectionDragButton {
+ @Nonnull
+ private NumeralBase numeralBase;
+
public NumeralBasesButton(Context context, @Nonnull AttributeSet attrs) {
super(context, attrs);
+ this.numeralBase = Locator.getInstance().getEngine().getNumeralBase();
}
@Override
@@ -52,11 +57,33 @@ public class NumeralBasesButton extends DirectionDragButton {
super.initDirectionTextPaint(basePaint, directionTextData, resources);
final TextPaint directionTextPaint = directionTextData.getPaint();
- if (Locator.getInstance().getEngine().getNumeralBase().name().equals(directionTextData.getText())) {
- directionTextPaint.setColor(resources.getColor(R.color.cpp_selected_angle_unit_text_color));
- } else {
- directionTextPaint.setColor(resources.getColor(R.color.cpp_default_text_color));
+
+ final int color = getDirectionTextColor(directionTextData.getText());
+ directionTextPaint.setColor(color);
+
+ if (!isCurrentNumberBase(directionTextData.getText())) {
directionTextPaint.setAlpha(getDirectionTextAlpha());
}
}
+
+ int getDirectionTextColor(@Nonnull String directionText) {
+ final int color;
+ if (isCurrentNumberBase(directionText)) {
+ color = getResources().getColor(R.color.cpp_selected_angle_unit_text_color);
+ } else {
+ color = getResources().getColor(R.color.cpp_default_text_color);
+ }
+ return color;
+ }
+
+ boolean isCurrentNumberBase(@Nonnull String directionText) {
+ return this.numeralBase.name().equals(directionText);
+ }
+
+ public void setNumeralBase(@Nonnull NumeralBase numeralBase) {
+ if (this.numeralBase != numeralBase) {
+ this.numeralBase = numeralBase;
+ invalidate();
+ }
+ }
}
diff --git a/android-app-core/src/main/test/org/solovyev/android/calculator/CalculatorTestUtils.java b/android-app-core/src/main/test/org/solovyev/android/calculator/CalculatorTestUtils.java
new file mode 100644
index 00000000..2ef54856
--- /dev/null
+++ b/android-app-core/src/main/test/org/solovyev/android/calculator/CalculatorTestUtils.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2013 serso aka se.solovyev
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Contact details
+ *
+ * Email: se.solovyev@gmail.com
+ * Site: http://se.solovyev.org
+ */
+
+package org.solovyev.android.calculator;
+
+import android.content.Context;
+import jscl.JsclMathEngine;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
+import org.mockito.Mockito;
+import org.solovyev.android.calculator.history.CalculatorHistory;
+import org.solovyev.android.calculator.plot.CalculatorPlotter;
+
+/**
+ * User: serso
+ * Date: 10/7/12
+ * Time: 8:56 PM
+ */
+public class CalculatorTestUtils {
+
+ public static void staticSetUp(@Nullable Context context) throws Exception {
+ Locator.getInstance().init(new CalculatorImpl(), newCalculatorEngine(), Mockito.mock(CalculatorClipboard.class), Mockito.mock(CalculatorNotifier.class), Mockito.mock(CalculatorHistory.class), new SystemOutCalculatorLogger(), Mockito.mock(CalculatorPreferenceService.class), Mockito.mock(CalculatorKeyboard.class), Mockito.mock(CalculatorPlotter.class), null);
+ Locator.getInstance().getEngine().init();
+
+ if (context != null) {
+ initViews(context);
+ }
+ }
+
+ public static void initViews(@Nonnull Context context) {
+ final AndroidCalculatorEditorView editor = new AndroidCalculatorEditorView(context);
+ editor.init();
+ Locator.getInstance().getEditor().setView(editor);
+
+ final AndroidCalculatorDisplayView display = new AndroidCalculatorDisplayView(context);
+ display.init(context);
+ Locator.getInstance().getDisplay().setView(display);
+ }
+
+ public static void staticSetUp() throws Exception {
+ staticSetUp(null);
+ }
+
+
+ @Nonnull
+ static CalculatorEngineImpl newCalculatorEngine() {
+ final MathEntityDao mathEntityDao = Mockito.mock(MathEntityDao.class);
+
+ final JsclMathEngine jsclEngine = JsclMathEngine.getInstance();
+
+ final CalculatorVarsRegistry varsRegistry = new CalculatorVarsRegistry(jsclEngine.getConstantsRegistry(), mathEntityDao);
+ final CalculatorFunctionsMathRegistry functionsRegistry = new CalculatorFunctionsMathRegistry(jsclEngine.getFunctionsRegistry(), mathEntityDao);
+ final CalculatorOperatorsMathRegistry operatorsRegistry = new CalculatorOperatorsMathRegistry(jsclEngine.getOperatorsRegistry(), mathEntityDao);
+ final CalculatorPostfixFunctionsRegistry postfixFunctionsRegistry = new CalculatorPostfixFunctionsRegistry(jsclEngine.getPostfixFunctionsRegistry(), mathEntityDao);
+
+ return new CalculatorEngineImpl(jsclEngine, varsRegistry, functionsRegistry, operatorsRegistry, postfixFunctionsRegistry, null);
+ }
+}
diff --git a/android-app-core/src/main/test/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java b/android-app-core/src/main/test/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java
new file mode 100644
index 00000000..47006678
--- /dev/null
+++ b/android-app-core/src/main/test/org/solovyev/android/calculator/view/AngleUnitsButtonTest.java
@@ -0,0 +1,75 @@
+package org.solovyev.android.calculator.view;
+
+import android.app.Activity;
+import jscl.AngleUnit;
+
+import java.util.ArrayList;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.res.Attribute;
+import org.robolectric.shadows.ShadowActivity;
+
+import static jscl.AngleUnit.deg;
+import static jscl.AngleUnit.grad;
+import static jscl.AngleUnit.rad;
+import static jscl.AngleUnit.turns;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.solovyev.android.calculator.CalculatorTestUtils.staticSetUp;
+
+@RunWith(RobolectricTestRunner.class)
+public class AngleUnitsButtonTest {
+
+ private AngleUnitsButton button;
+
+ @Before
+ public void setUp() throws Exception {
+ staticSetUp();
+
+ final Activity context = Robolectric.buildActivity(Activity.class).create().get();
+ final ShadowActivity activity = Robolectric.shadowOf(context);
+ button = new AngleUnitsButton(context, activity.createAttributeSet(new ArrayList(), AngleUnitsButton.class));
+ }
+
+ @Test
+ public void testShouldReturnDifferentColorsForDifferentAngleUnits() throws Exception {
+ button.setAngleUnit(deg);
+
+ assertEquals(button.getDirectionTextColor(deg.name()), button.getDirectionTextColor(deg.name()));
+ assertEquals(button.getDirectionTextColor(grad.name()), button.getDirectionTextColor(rad.name()));
+ assertNotSame(button.getDirectionTextColor(deg.name()), button.getDirectionTextColor(rad.name()));
+ assertNotSame(button.getDirectionTextColor(deg.name()), button.getDirectionTextColor(grad.name()));
+ assertNotSame(button.getDirectionTextColor(deg.name()), button.getDirectionTextColor(turns.name()));
+ }
+
+ @Test
+ public void testIsCurrentAngleUnits() throws Exception {
+ button.setAngleUnit(rad);
+ assertTrue(button.isCurrentAngleUnits(rad.name()));
+ assertFalse(button.isCurrentAngleUnits(deg.name()));
+ assertFalse(button.isCurrentAngleUnits(grad.name()));
+ }
+
+ @Test
+ public void testInvalidateShouldBeCalledOnlyWhenChangeIsDone() throws Exception {
+ button.setAngleUnit(rad);
+
+ button = Mockito.spy(button);
+
+ button.setAngleUnit(deg);
+ verify(button, times(1)).invalidate();
+
+ button.setAngleUnit(deg);
+ verify(button, times(1)).invalidate();
+ }
+}
diff --git a/android-app-core/src/main/test/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java b/android-app-core/src/main/test/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java
new file mode 100644
index 00000000..cb97783d
--- /dev/null
+++ b/android-app-core/src/main/test/org/solovyev/android/calculator/view/NumeralBasesButtonTest.java
@@ -0,0 +1,76 @@
+package org.solovyev.android.calculator.view;
+
+import android.app.Activity;
+import jscl.NumeralBase;
+
+import java.util.ArrayList;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.res.Attribute;
+import org.robolectric.shadows.ShadowActivity;
+
+import static jscl.AngleUnit.deg;
+import static jscl.AngleUnit.rad;
+import static jscl.NumeralBase.bin;
+import static jscl.NumeralBase.dec;
+import static jscl.NumeralBase.hex;
+import static jscl.NumeralBase.oct;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.solovyev.android.calculator.CalculatorTestUtils.staticSetUp;
+
+@RunWith(RobolectricTestRunner.class)
+public class NumeralBasesButtonTest {
+
+ private NumeralBasesButton button;
+
+ @Before
+ public void setUp() throws Exception {
+ staticSetUp();
+
+ final Activity context = Robolectric.buildActivity(Activity.class).create().get();
+ final ShadowActivity activity = Robolectric.shadowOf(context);
+ button = new NumeralBasesButton(context, activity.createAttributeSet(new ArrayList(), NumeralBasesButton.class));
+ }
+
+ @Test
+ public void testShouldReturnDifferentColorsForDifferentNumeralBase() throws Exception {
+ button.setNumeralBase(dec);
+
+ assertEquals(button.getDirectionTextColor(dec.name()), button.getDirectionTextColor(dec.name()));
+ assertEquals(button.getDirectionTextColor(hex.name()), button.getDirectionTextColor(bin.name()));
+ assertNotSame(button.getDirectionTextColor(dec.name()), button.getDirectionTextColor(bin.name()));
+ assertNotSame(button.getDirectionTextColor(dec.name()), button.getDirectionTextColor(hex.name()));
+ assertNotSame(button.getDirectionTextColor(dec.name()), button.getDirectionTextColor(oct.name()));
+ }
+
+ @Test
+ public void testIsCurrentNumeralBase() throws Exception {
+ button.setNumeralBase(dec);
+ assertTrue(button.isCurrentNumberBase(dec.name()));
+ assertFalse(button.isCurrentNumberBase(hex.name()));
+ assertFalse(button.isCurrentNumberBase(bin.name()));
+ }
+
+ @Test
+ public void testInvalidateShouldBeCalledOnlyWhenChangeIsDone() throws Exception {
+ button.setNumeralBase(dec);
+
+ button = Mockito.spy(button);
+
+ button.setNumeralBase(hex);
+ verify(button, times(1)).invalidate();
+
+ button.setNumeralBase(hex);
+ verify(button, times(1)).invalidate();
+ }
+}
diff --git a/android-app-onscreen/pom.xml b/android-app-onscreen/pom.xml
index 3c9ea207..1e02e95c 100644
--- a/android-app-onscreen/pom.xml
+++ b/android-app-onscreen/pom.xml
@@ -5,12 +5,12 @@
org.solovyev.android
calculatorpp-parent
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
org.solovyev.android
calculatorpp-android-app-onscreen
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
Calculator++ Application Onscreen
apklib
diff --git a/android-app-onscreen/res/layout/onscreen_editor.xml b/android-app-onscreen/res/layout/onscreen_editor.xml
index 14893fa1..bfc2db19 100644
--- a/android-app-onscreen/res/layout/onscreen_editor.xml
+++ b/android-app-onscreen/res/layout/onscreen_editor.xml
@@ -16,7 +16,6 @@
+ a:textIsSelectable="true"/>
\ No newline at end of file
diff --git a/android-app-test/pom.xml b/android-app-test/pom.xml
index 5a62b172..f69b9a16 100644
--- a/android-app-test/pom.xml
+++ b/android-app-test/pom.xml
@@ -4,7 +4,7 @@
org.solovyev.android
calculatorpp-parent
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
4.0.0
diff --git a/android-app-widget/pom.xml b/android-app-widget/pom.xml
index 1739c52c..6f32d21a 100644
--- a/android-app-widget/pom.xml
+++ b/android-app-widget/pom.xml
@@ -5,12 +5,12 @@
org.solovyev.android
calculatorpp-parent
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
org.solovyev.android
calculatorpp-android-app-widget
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
Calculator++ Application Widget
apklib
diff --git a/android-app/AndroidManifest.xml b/android-app/AndroidManifest.xml
index db7ca808..2f6d3dc0 100644
--- a/android-app/AndroidManifest.xml
+++ b/android-app/AndroidManifest.xml
@@ -1,5 +1,5 @@
-
+
@@ -72,7 +72,11 @@
-
+
+
+
+
+
diff --git a/android-app/pom.xml b/android-app/pom.xml
index 4ad3aa3f..c73e0ce6 100644
--- a/android-app/pom.xml
+++ b/android-app/pom.xml
@@ -4,7 +4,7 @@
org.solovyev.android
calculatorpp-parent
- 1.6.3-b-SNAPSHOT
+ 2.0.1-SNAPSHOT
4.0.0
diff --git a/android-app/project.properties b/android-app/project.properties
index 7382ccd3..64ad1f72 100644
--- a/android-app/project.properties
+++ b/android-app/project.properties
@@ -13,22 +13,22 @@ target=android-17
android.library.reference.1=../android-app-core
android.library.reference.2=../android-app-widget
android.library.reference.3=../android-app-onscreen
-android.library.reference.4=gen-external-apklibs/org.solovyev.android_android-common-all_1.1.3-SNAPSHOT
-android.library.reference.5=gen-external-apklibs/org.solovyev.android_android-common-ads_1.1.3-SNAPSHOT
-android.library.reference.6=gen-external-apklibs/org.solovyev.android_android-common-core_1.1.3-SNAPSHOT
-android.library.reference.7=gen-external-apklibs/org.solovyev.android_android-common-billing_1.1.3-SNAPSHOT
-android.library.reference.8=gen-external-apklibs/org.solovyev.android_android-common-db_1.1.3-SNAPSHOT
-android.library.reference.9=gen-external-apklibs/org.solovyev.android_android-common-security_1.1.3-SNAPSHOT
-android.library.reference.10=gen-external-apklibs/org.solovyev.android_android-common-http_1.1.3-SNAPSHOT
-android.library.reference.11=gen-external-apklibs/org.solovyev.android_android-common-lists_1.1.3-SNAPSHOT
-android.library.reference.12=gen-external-apklibs/org.solovyev.android_android-common-views_1.1.3-SNAPSHOT
-android.library.reference.13=gen-external-apklibs/org.solovyev.android_android-common-preferences_1.1.3-SNAPSHOT
-android.library.reference.14=gen-external-apklibs/org.solovyev.android_android-common-menus_1.1.3-SNAPSHOT
-android.library.reference.15=gen-external-apklibs/org.solovyev.android_android-common-other_1.1.3-SNAPSHOT
-android.library.reference.16=gen-external-apklibs/org.solovyev.android_android-common-sherlock_1.1.3-SNAPSHOT
+android.library.reference.4=gen-external-apklibs/org.solovyev.android_android-common-all_1.1.2
+android.library.reference.5=gen-external-apklibs/org.solovyev.android_android-common-ads_1.1.2
+android.library.reference.6=gen-external-apklibs/org.solovyev.android_android-common-core_1.1.2
+android.library.reference.7=gen-external-apklibs/org.solovyev.android_android-common-billing_1.1.2
+android.library.reference.8=gen-external-apklibs/org.solovyev.android_android-common-db_1.1.2
+android.library.reference.9=gen-external-apklibs/org.solovyev.android_android-common-security_1.1.2
+android.library.reference.10=gen-external-apklibs/org.solovyev.android_android-common-http_1.1.2
+android.library.reference.11=gen-external-apklibs/org.solovyev.android_android-common-lists_1.1.2
+android.library.reference.12=gen-external-apklibs/org.solovyev.android_android-common-views_1.1.2
+android.library.reference.13=gen-external-apklibs/org.solovyev.android_android-common-preferences_1.1.2
+android.library.reference.14=gen-external-apklibs/org.solovyev.android_android-common-menus_1.1.2
+android.library.reference.15=gen-external-apklibs/org.solovyev.android_android-common-other_1.1.2
+android.library.reference.16=gen-external-apklibs/org.solovyev.android_android-common-sherlock_1.1.2
android.library.reference.17=gen-external-apklibs/com.actionbarsherlock_actionbarsherlock_4.2.0
-android.library.reference.18=gen-external-apklibs/org.solovyev.android_android-common-keyboards_1.1.3-SNAPSHOT
-android.library.reference.19=gen-external-apklibs/org.solovyev.android_android-common-app_1.1.3-SNAPSHOT
-android.library.reference.20=gen-external-apklibs/org.solovyev.android_android-common-networks_1.1.3-SNAPSHOT
-android.library.reference.21=gen-external-apklibs/org.solovyev.android_android-common-fragments_1.1.3-SNAPSHOT
-android.library.reference.22=gen-external-apklibs/org.solovyev.android_android-common-tasks_1.1.3-SNAPSHOT
\ No newline at end of file
+android.library.reference.18=gen-external-apklibs/org.solovyev.android_android-common-keyboards_1.1.2
+android.library.reference.19=gen-external-apklibs/org.solovyev.android_android-common-app_1.1.2
+android.library.reference.20=gen-external-apklibs/org.solovyev.android_android-common-networks_1.1.2
+android.library.reference.21=gen-external-apklibs/org.solovyev.android_android-common-fragments_1.1.2
+android.library.reference.22=gen-external-apklibs/org.solovyev.android_android-common-tasks_1.1.2
\ No newline at end of file
diff --git a/android-app/res/layout/about_fragment.xml b/android-app/res/layout/about_fragment.xml
index 9d79608b..80302de9 100644
--- a/android-app/res/layout/about_fragment.xml
+++ b/android-app/res/layout/about_fragment.xml
@@ -23,42 +23,53 @@
-->
+ a:orientation="vertical"
+ a:layout_width="fill_parent"
+ a:layout_height="fill_parent"
+ a:background="#ff000000">
+
+
+
+
+ a:orientation="vertical">
-
+
-
+
+
+
+
+
\ No newline at end of file
diff --git a/android-app/res/layout/cpp_app_button_donate.xml b/android-app/res/layout/cpp_app_button_donate.xml
index 213bbeff..0d0ab81e 100644
--- a/android-app/res/layout/cpp_app_button_donate.xml
+++ b/android-app/res/layout/cpp_app_button_donate.xml
@@ -24,6 +24,6 @@
\ No newline at end of file
diff --git a/android-app/res/layout/cpp_drag_button_round_brackets.xml b/android-app/res/layout/cpp_drag_button_round_brackets.xml
index 73b71a37..580a2631 100644
--- a/android-app/res/layout/cpp_drag_button_round_brackets.xml
+++ b/android-app/res/layout/cpp_drag_button_round_brackets.xml
@@ -26,7 +26,7 @@
xmlns:c="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
a:id="@id/cpp_button_round_brackets"
c:textUp="("
- a:text="( )"
+ a:text="( )"
c:textDown=")"
c:textLeft="(…)"
c:directionTextScale="0.5;0.5;0.5;0.33"
diff --git a/android-app/res/layout/cpp_wizard.xml b/android-app/res/layout/cpp_wizard.xml
index e03cd5a4..72b3a2ec 100644
--- a/android-app/res/layout/cpp_wizard.xml
+++ b/android-app/res/layout/cpp_wizard.xml
@@ -23,37 +23,43 @@
-->
+ a:id="@+id/wizard_layout"
+ style="?cpp_dialog_style"
+ a:orientation="vertical">
+ a:orientation="vertical"
+ a:id="@+id/wizard_content"
+ a:layout_width="match_parent"
+ a:layout_height="0dp"
+ a:layout_weight="1"
+ a:padding="6dp"
+ a:gravity="center" />
+ a:orientation="horizontal"
+ a:layout_width="match_parent"
+ a:layout_height="wrap_content">
+ a:id="@+id/wizard_prev_button"
+ a:layout_height="wrap_content"
+ a:layout_width="0dp"
+ a:layout_weight="1"
+ a:singleLine="true"
+ a:lines="1"
+ a:maxLines="1"
+ a:text="@string/cpp_wizard_back" />
+ a:id="@+id/wizard_next_button"
+ a:layout_height="wrap_content"
+ a:layout_width="0dp"
+ a:layout_weight="1"
+ a:singleLine="true"
+ a:lines="1"
+ a:maxLines="1"
+ a:text="@string/cpp_wizard_next" />
diff --git a/android-app/res/layout/cpp_wizard_step_drag_button.xml b/android-app/res/layout/cpp_wizard_step_drag_button.xml
index aef74a78..b049312e 100644
--- a/android-app/res/layout/cpp_wizard_step_drag_button.xml
+++ b/android-app/res/layout/cpp_wizard_step_drag_button.xml
@@ -29,7 +29,8 @@
a:orientation="vertical">
@@ -42,7 +43,7 @@
a:layout_width="match_parent"/>
@@ -36,6 +36,6 @@
a:id="@+id/wizard_onscreen_app_enabled_checkbox"
a:layout_height="wrap_content"
a:layout_width="match_parent"
- a:text="Enable calculator in separate window (second icon will appear in the apps list)"/>
+ a:text="@string/cpp_wizard_onscreen_checkbox"/>
diff --git a/android-app/res/layout/history_item.xml b/android-app/res/layout/history_item.xml
index c4e89abd..588831eb 100644
--- a/android-app/res/layout/history_item.xml
+++ b/android-app/res/layout/history_item.xml
@@ -43,7 +43,6 @@
a:id="@+id/history_item"
a:layout_width="fill_parent"
a:layout_height="fill_parent"
- a:textColor="@color/cpp_button_operator_text_color"
style="@style/history_item"/>
diff --git a/android-app/res/layout/saved_history_item.xml b/android-app/res/layout/saved_history_item.xml
index f2af4d9a..8ec51887 100644
--- a/android-app/res/layout/saved_history_item.xml
+++ b/android-app/res/layout/saved_history_item.xml
@@ -36,7 +36,6 @@
a:id="@+id/history_item"
a:layout_width="fill_parent"
a:layout_height="fill_parent"
- a:textColor="@color/cpp_button_operator_text_color"
style="@style/history_item"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android-app/res/xml/preferences_other.xml b/android-app/res/xml/preferences_other.xml
index 2407d5d8..7495f7f9 100644
--- a/android-app/res/xml/preferences_other.xml
+++ b/android-app/res/xml/preferences_other.xml
@@ -45,10 +45,6 @@
a:summary="@string/c_clear_billing_info_summary"
a:title="@string/c_clear_billing_info_title"/>
-
-
\ No newline at end of file
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/AbstractCalculatorHelper.java b/android-app/src/main/java/org/solovyev/android/calculator/AbstractCalculatorHelper.java
index 6addd298..7c83dd4c 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/AbstractCalculatorHelper.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/AbstractCalculatorHelper.java
@@ -52,6 +52,8 @@ import java.util.List;
import static org.solovyev.android.calculator.CalculatorPreferences.Gui.Layout.simple;
import static org.solovyev.android.calculator.CalculatorPreferences.Gui.Layout.simple_mobile;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.angleUnit;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.numeralBase;
/**
* User: serso
@@ -75,6 +77,12 @@ public abstract class AbstractCalculatorHelper implements SharedPreferences.OnSh
@Nonnull
private String logTag = "CalculatorActivity";
+ @Nullable
+ private AngleUnitsButton angleUnitsButton;
+
+ @Nullable
+ private NumeralBasesButton clearButton;
+
protected AbstractCalculatorHelper() {
}
@@ -151,12 +159,12 @@ public abstract class AbstractCalculatorHelper implements SharedPreferences.OnSh
equalsButton.setOnDragListener(new OnDragListenerVibrator(newOnDragListener(new EqualsDragProcessor(), dragPreferences), vibrator, preferences));
}
- final AngleUnitsButton angleUnitsButton = (AngleUnitsButton) getButton(root, R.id.cpp_button_6);
+ angleUnitsButton = getButton(root, R.id.cpp_button_6);
if (angleUnitsButton != null) {
angleUnitsButton.setOnDragListener(new OnDragListenerVibrator(newOnDragListener(new CalculatorButtons.AngleUnitsChanger(activity), dragPreferences), vibrator, preferences));
}
- final NumeralBasesButton clearButton = (NumeralBasesButton) getButton(root, R.id.cpp_button_clear);
+ clearButton = getButton(root, R.id.cpp_button_clear);
if (clearButton != null) {
clearButton.setOnDragListener(new OnDragListenerVibrator(newOnDragListener(new CalculatorButtons.NumeralBasesChanger(activity), dragPreferences), vibrator, preferences));
}
@@ -266,12 +274,22 @@ public abstract class AbstractCalculatorHelper implements SharedPreferences.OnSh
@Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
- if (key != null && key.startsWith("org.solovyev.android.calculator.DragButtonCalibrationActivity")) {
+ if (key.startsWith("org.solovyev.android.calculator.DragButtonCalibrationActivity")) {
final SimpleOnDragListener.Preferences dragPreferences = SimpleOnDragListener.getPreferences(preferences, CalculatorApplication.getInstance());
for (DragPreferencesChangeListener dragPreferencesChangeListener : dpclRegister.getListeners()) {
dragPreferencesChangeListener.onDragPreferencesChange(dragPreferences);
}
}
+
+ if (angleUnit.isSameKey(key) || numeralBase.isSameKey(key)) {
+ if (angleUnitsButton != null) {
+ angleUnitsButton.setAngleUnit(angleUnit.getPreference(preferences));
+ }
+
+ if (clearButton != null) {
+ clearButton.setNumeralBase(numeralBase.getPreference(preferences));
+ }
+ }
}
public void onDestroy(@Nonnull Activity activity) {
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java
index 04442108..3ed7a4ac 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorActivityLauncher.java
@@ -205,7 +205,7 @@ public final class CalculatorActivityLauncher implements CalculatorEventListener
}
public static void likeButtonPressed(@Nonnull final Context context) {
- final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(CalculatorApplication.FACEBOOK_APP_URL));
+ final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(context.getString(R.string.cpp_share_link)));
Android.addIntentFlags(intent, false, context);
context.startActivity(intent);
}
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java
index 82ea975f..fdd30578 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorApplication.java
@@ -72,7 +72,6 @@ public class CalculatorApplication extends android.app.Application implements Sh
*/
private static final String TAG = "Calculator++ Application";
- public static final String FACEBOOK_APP_URL = "http://www.facebook.com/calculatorpp";
public static final String AD_FREE_PRODUCT_ID = "ad_free";
public static final String AD_FREE_P_KEY = "org.solovyev.android.calculator_ad_free";
@@ -243,6 +242,11 @@ public class CalculatorApplication extends android.app.Application implements Sh
return instance;
}
+ @Nonnull
+ public static SharedPreferences getPreferences() {
+ return PreferenceManager.getDefaultSharedPreferences(getInstance());
+ }
+
public static boolean isMonkeyRunner(@Nonnull Context context) {
// NOTE: this code is only for monkeyrunner
return context.checkCallingOrSelfPermission(android.Manifest.permission.DISABLE_KEYGUARD) == PackageManager.PERMISSION_GRANTED;
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorKeyboardFragment.java b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorKeyboardFragment.java
index 7b66f0a2..3a5f2421 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/CalculatorKeyboardFragment.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/CalculatorKeyboardFragment.java
@@ -36,6 +36,14 @@ import javax.annotation.Nullable;
import org.solovyev.android.calculator.model.AndroidCalculatorEngine;
+import static org.solovyev.android.calculator.CalculatorPreferences.Gui.hideNumeralBaseDigits;
+import static org.solovyev.android.calculator.CalculatorPreferences.Gui.showEqualsButton;
+import static org.solovyev.android.calculator.NumeralBaseButtons.toggleNumericDigits;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.angleUnit;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.multiplicationSign;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.numeralBase;
+
/**
* User: Solovyev_S
* Date: 25.09.12
@@ -108,21 +116,6 @@ public class CalculatorKeyboardFragment extends SherlockFragment implements Shar
}
- /* private static void setMarginsForView(@Nullable View view, int marginLeft, int marginBottom, @Nonnull Context context) {
- // IMPORTANT: this is workaround for probably android bug
- // currently margin values set in styles are not applied for some reasons to the views (using include tag) => set them manually
-
- if (view != null) {
- final DisplayMetrics dm = context.getResources().getDisplayMetrics();
- if (view.getLayoutParams() instanceof LinearLayout.LayoutParams) {
- final LinearLayout.LayoutParams oldParams = (LinearLayout.LayoutParams) view.getLayoutParams();
- final LinearLayout.LayoutParams newParams = new LinearLayout.LayoutParams(oldParams.width, oldParams.height, oldParams.weight);
- newParams.setMargins(AndroidUtils.toPixels(dm, marginLeft), 0, 0, AndroidUtils.toPixels(dm, marginBottom));
- view.setLayoutParams(newParams);
- }
- }
- }*/
-
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
@@ -130,25 +123,15 @@ public class CalculatorKeyboardFragment extends SherlockFragment implements Shar
@Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
- if (AndroidCalculatorEngine.Preferences.numeralBase.getKey().equals(key) ||
- CalculatorPreferences.Gui.hideNumeralBaseDigits.getKey().equals(key)) {
- NumeralBaseButtons.toggleNumericDigits(this.getActivity(), preferences);
+ if (numeralBase.isSameKey(key) || hideNumeralBaseDigits.isSameKey(key)) {
+ toggleNumericDigits(this.getActivity(), preferences);
}
- if (AndroidCalculatorEngine.Preferences.angleUnit.getKey().equals(key) ||
- AndroidCalculatorEngine.Preferences.numeralBase.getKey().equals(key)) {
- View view = getView();
- if (view != null) {
- // we should update state of angle units/numeral base button => we can achieve it by invalidating the whole view
- view.invalidate();
- }
- }
-
- if (CalculatorPreferences.Gui.showEqualsButton.getKey().equals(key)) {
+ if (showEqualsButton.isSameKey(key)) {
CalculatorButtons.toggleEqualsButton(preferences, this.getActivity());
}
- if (AndroidCalculatorEngine.Preferences.multiplicationSign.getKey().equals(key)) {
+ if (multiplicationSign.isSameKey(key)) {
CalculatorButtons.initMultiplicationButton(getView());
}
}
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java b/android-app/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java
index 2abbbcf1..ca92b428 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/NumeralBaseButtons.java
@@ -30,6 +30,10 @@ import javax.annotation.Nonnull;
import org.solovyev.android.calculator.model.AndroidCalculatorEngine;
+import static jscl.NumeralBase.hex;
+import static org.solovyev.android.calculator.CalculatorPreferences.Gui.hideNumeralBaseDigits;
+import static org.solovyev.android.calculator.model.AndroidCalculatorEngine.Preferences.numeralBase;
+
/**
* User: serso
* Date: 4/20/12
@@ -48,12 +52,12 @@ public class NumeralBaseButtons {
}
public static void toggleNumericDigits(@Nonnull Activity activity, @Nonnull SharedPreferences preferences) {
- if (CalculatorPreferences.Gui.hideNumeralBaseDigits.getPreference(preferences)) {
- final NumeralBase nb = AndroidCalculatorEngine.Preferences.numeralBase.getPreference(preferences);
+ if (hideNumeralBaseDigits.getPreference(preferences)) {
+ final NumeralBase nb = numeralBase.getPreference(preferences);
toggleNumericDigits(activity, nb);
} else {
// set HEX to show all digits
- AndroidNumeralBase.valueOf(NumeralBase.hex).toggleButtons(true, activity);
+ AndroidNumeralBase.valueOf(hex).toggleButtons(true, activity);
}
}
}
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorAboutFragment.java b/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorAboutFragment.java
index cd8ccc07..bc8ae5ed 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorAboutFragment.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorAboutFragment.java
@@ -26,11 +26,13 @@ import android.os.Bundle;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.TextView;
-
import org.solovyev.android.calculator.CalculatorFragment;
import org.solovyev.android.calculator.CalculatorFragmentType;
import org.solovyev.android.calculator.R;
+import static android.view.View.GONE;
+import static org.solovyev.common.text.Strings.isEmpty;
+
/**
* User: serso
* Date: 12/24/11
@@ -46,7 +48,14 @@ public class CalculatorAboutFragment extends CalculatorFragment {
public void onViewCreated(View root, Bundle savedInstanceState) {
super.onViewCreated(root, savedInstanceState);
- final TextView about = (TextView) root.findViewById(R.id.aboutTextView);
- about.setMovementMethod(LinkMovementMethod.getInstance());
+ final TextView aboutTextView = (TextView) root.findViewById(R.id.cpp_about_textview);
+ aboutTextView.setMovementMethod(LinkMovementMethod.getInstance());
+
+ final TextView translatorsTextTextView = (TextView) root.findViewById(R.id.cpp_about_translators_text);
+ final TextView translatorsTextView = (TextView) root.findViewById(R.id.cpp_about_translators);
+ if(isEmpty(translatorsTextView.getText())) {
+ translatorsTextTextView.setVisibility(GONE);
+ translatorsTextView.setVisibility(GONE);
+ }
}
}
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorReleaseNotesFragment.java b/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorReleaseNotesFragment.java
index dcd8aaf2..029559a7 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorReleaseNotesFragment.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorReleaseNotesFragment.java
@@ -28,16 +28,16 @@ import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.TextView;
-
-import javax.annotation.Nonnull;
-
-import org.solovyev.android.Android;
import org.solovyev.android.calculator.CalculatorApplication;
import org.solovyev.android.calculator.CalculatorFragment;
import org.solovyev.android.calculator.CalculatorFragmentType;
import org.solovyev.android.calculator.R;
import org.solovyev.common.text.Strings;
+import javax.annotation.Nonnull;
+
+import static org.solovyev.android.Android.getAppVersionCode;
+
/**
* User: serso
* Date: 12/25/11
@@ -69,13 +69,14 @@ public class CalculatorReleaseNotesFragment extends CalculatorFragment {
final StringBuilder result = new StringBuilder();
final String releaseNotesForTitle = context.getString(R.string.c_release_notes_for_title);
- final int version = Android.getAppVersionCode(context);
+ final int currentVersionCode = getAppVersionCode(context);
final TextHelper textHelper = new TextHelper(context.getResources(), CalculatorApplication.class.getPackage().getName());
boolean first = true;
- for (int i = version; i >= minVersion; i--) {
- String releaseNotesForVersion = textHelper.getText("c_release_notes_for_" + i);
+ for (int versionCode = currentVersionCode; versionCode >= minVersion; versionCode--) {
+ final String versionName = getVersionName(textHelper, versionCode);
+ String releaseNotesForVersion = textHelper.getText(makeReleaseNotesResourceId(versionCode));
if (!Strings.isEmpty(releaseNotesForVersion)) {
assert releaseNotesForVersion != null;
if (!first) {
@@ -84,11 +85,29 @@ public class CalculatorReleaseNotesFragment extends CalculatorFragment {
first = false;
}
releaseNotesForVersion = releaseNotesForVersion.replace("\n", "
");
- result.append("").append(releaseNotesForTitle).append(i).append("
");
+ result.append("").append(releaseNotesForTitle).append(versionName).append("
");
result.append(releaseNotesForVersion);
}
}
return result.toString();
}
+
+ @Nonnull
+ private static String getVersionName(@Nonnull TextHelper textHelper, int versionCode) {
+ final String versionName = textHelper.getText(makeVersionResourceId(versionCode));
+ if (versionName != null) {
+ return versionName;
+ } else {
+ return String.valueOf(versionCode);
+ }
+ }
+
+ private static String makeReleaseNotesResourceId(int versionCode) {
+ return "c_release_notes_for_" + versionCode;
+ }
+
+ private static String makeVersionResourceId(int versionCode) {
+ return "c_release_notes_for_" + versionCode + "_version";
+ }
}
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListFragment.java b/android-app/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListFragment.java
index 5d15a066..8c7898ea 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListFragment.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/math/edit/AbstractMathEntityListFragment.java
@@ -80,8 +80,6 @@ public abstract class AbstractMathEntityListFragment exten
public static final String MATH_ENTITY_CATEGORY_EXTRA_STRING = "org.solovyev.android.calculator.CalculatorVarsActivity_math_entity_category";
- protected final static List acceptableChars = Arrays.asList(Strings.toObjects("1234567890abcdefghijklmnopqrstuvwxyzйцукенгшщзхъфывапролджэячсмитьбюё_".toCharArray()));
-
/*
**********************************************************************
diff --git a/android-app/src/main/java/org/solovyev/android/calculator/math/edit/VarEditDialogFragment.java b/android-app/src/main/java/org/solovyev/android/calculator/math/edit/VarEditDialogFragment.java
index b01d9fd9..b53ae91c 100644
--- a/android-app/src/main/java/org/solovyev/android/calculator/math/edit/VarEditDialogFragment.java
+++ b/android-app/src/main/java/org/solovyev/android/calculator/math/edit/VarEditDialogFragment.java
@@ -22,6 +22,7 @@
package org.solovyev.android.calculator.math.edit;
+import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentManager;
@@ -30,17 +31,24 @@ import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.WindowManager;
+import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import jscl.math.function.IConstant;
+import java.util.Arrays;
+import java.util.List;
+
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import org.solovyev.android.Views;
import org.solovyev.android.calculator.*;
import org.solovyev.android.calculator.model.Var;
import org.solovyev.android.sherlock.AndroidSherlockUtils;
+import org.solovyev.common.text.Strings;
+
+import static android.view.WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE;
/**
* User: Solovyev_S
@@ -49,6 +57,8 @@ import org.solovyev.android.sherlock.AndroidSherlockUtils;
*/
public class VarEditDialogFragment extends DialogFragment implements CalculatorEventListener {
+ private final static List acceptableChars = Arrays.asList(Strings.toObjects("1234567890abcdefghijklmnopqrstuvwxyzйцукенгшщзхъфывапролджэячсмитьбюёαβγδεζηθικλμνξοπρστυφχψω_".toCharArray()));
+
@Nonnull
private final Input input;
@@ -101,7 +111,7 @@ public class VarEditDialogFragment extends DialogFragment implements CalculatorE
public void afterTextChanged(Editable s) {
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
- if (!AbstractMathEntityListFragment.acceptableChars.contains(c)) {
+ if (!acceptableChars.contains(c)) {
s.delete(i, i + 1);
Toast.makeText(getActivity(), String.format(errorMsg, c), Toast.LENGTH_SHORT).show();
}
@@ -109,9 +119,12 @@ public class VarEditDialogFragment extends DialogFragment implements CalculatorE
}
});
+ processGreekButtons(root, editName, R.id.var_edit_greek_buttons_1);
+ processGreekButtons(root, editName, R.id.var_edit_greek_buttons_2);
+
// show soft keyboard automatically
editName.requestFocus();
- getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
+ getDialog().getWindow().setSoftInputMode(SOFT_INPUT_STATE_VISIBLE);
final EditText editValue = (EditText) root.findViewById(R.id.var_edit_value);
editValue.setText(input.getValue());
@@ -149,6 +162,21 @@ public class VarEditDialogFragment extends DialogFragment implements CalculatorE
}
}
+ private void processGreekButtons(@Nonnull View root, @Nonnull final EditText editName, int greekButtonsViewId) {
+ final ViewGroup greekButtons = (ViewGroup) root.findViewById(greekButtonsViewId);
+ Views.processViewsOfType(greekButtons, Button.class, new Views.ViewProcessor