diff options
54 files changed, 1101 insertions, 498 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d5df6d1..5fbee63 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -17,8 +17,8 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.connectbot" - android:versionName="1.8.1" - android:versionCode="371" + android:versionName="1.8.2" + android:versionCode="372" android:installLocation="auto"> <uses-sdk android:targetSdkVersion="15" android:minSdkVersion="4" /> diff --git a/icons/icon14.png b/icons/icon14.png Binary files differnew file mode 100644 index 0000000..8bfdcba --- /dev/null +++ b/icons/icon14.png diff --git a/icons/icon64.png b/icons/icon64.png Binary files differnew file mode 100644 index 0000000..d35240c --- /dev/null +++ b/icons/icon64.png diff --git a/res/layout/act_colors.xml b/res/layout/act_colors.xml index 625437d..3bda649 100644 --- a/res/layout/act_colors.xml +++ b/res/layout/act_colors.xml @@ -23,36 +23,34 @@ android:layout_width="fill_parent" android:layout_height="fill_parent"> - <TextView - android:text="@string/colors_fg" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:id="@+id/fg_label" - android:paddingTop="12dp" - /> - - <Spinner - android:id="@+id/fg" - android:layout_width="wrap_content" + <LinearLayout + android:orientation="horizontal" + android:layout_width="fill_parent" android:layout_height="wrap_content" - android:layout_toRightOf="@+id/fg_label" - /> + android:id="@+id/spinners"> - <Spinner - android:id="@+id/bg" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignTop="@+id/fg" - android:layout_alignParentRight="true" - /> + <Spinner + android:id="@+id/fg" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_alignParentLeft="true" + android:minHeight="60dp" + android:layout_weight="1" + android:gravity="center" + /> - <TextView - android:text="@string/color_bg" - android:layout_height="wrap_content" - android:layout_width="wrap_content" - android:layout_toLeftOf="@+id/bg" - android:paddingTop="12dp" - /> + <Spinner + android:id="@+id/bg" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_alignTop="@id/fg" + android:layout_alignParentRight="true" + android:layout_toRightOf="@id/fg" + android:minHeight="60dp" + android:layout_weight="1" + android:gravity="center" + /> + </LinearLayout> <GridView android:id="@+id/color_grid" @@ -65,7 +63,8 @@ android:columnWidth="60dp" android:stretchMode="columnWidth" android:gravity="center" - android:layout_below="@+id/fg" - android:stackFromBottom="true" android:minHeight="60dp"/> + android:minHeight="60dp" + android:layout_below="@+id/spinners" + /> </RelativeLayout> diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 32028fa..f87787b 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -48,9 +48,6 @@ <string name="alert_disconnect_msg">Връзката изгубена</string> <string name="msg_copyright">Запазени права © 2007-2008 Kenny Root http://the-b.org/, Jeffrey Sharkey http://jsharkey.org/</string> <string name="list_keymode_none">Забраняване</string> - <string name="list_update_daily">Ежедневно</string> - <string name="list_update_weekly">Ежеседмично</string> - <string name="list_update_never">Никога</string> <string name="console_copy_done">Копирани %1$d байта в клипборда</string> <string name="console_menu_close">Затваряне</string> <string name="console_menu_copy">Копиране</string> diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index 3b5801a..7696bb8 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Amaga la barra d\'estat en consola</string> <string name="pref_memkeys_title">Recorda les claus en memòria</string> <string name="pref_memkeys_summary">Manté les claus descarregadesen memòria fins que el servei finalitzi</string> - <string name="pref_update_title">Comprova actualització</string> - <string name="pref_update_summary">Escull la freqüència màxima de comprovació d\'actualitzacions de ConnectBot</string> <string name="pref_conn_persist_title">Connexions persistents</string> <string name="pref_conn_persist_summary">Manté les connexions mentre l\'aplicació és en segon pla</string> <string name="pref_keymode_title">Drecera de carpetes</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Deshabilita</string> <string name="list_pubkeyids_none">No usis claus</string> <string name="list_pubkeyids_any">Fes servir qualsevol clau desbloquejada</string> - <string name="list_update_daily">Diàriament</string> - <string name="list_update_weekly">Setmanalment</string> - <string name="list_update_never">Mai</string> <string name="hostpref_nickname_title">Sobrenom</string> <string name="hostpref_color_title">Color de la categoria</string> <string name="hostpref_fontsize_title">Mida de la lletra (pt)</string> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 8fbd0db..6bc0b87 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Skrýt stavový řádek když je zobrazena konzole</string> <string name="pref_memkeys_title">Uchovávat klíče v paměti</string> <string name="pref_memkeys_summary">Ponechat odemčené klíče v paměti dokud není ukončena služba na pozadí</string> - <string name="pref_update_title">Kontrolovat aktualizace</string> - <string name="pref_update_summary">Nastavit maximální frekvenci pro kontrolu aktualizací ConnectBota</string> <string name="pref_conn_persist_title">Trvalá spojení</string> <string name="pref_conn_persist_summary">Vynutit spojení i v pozadí</string> <string name="pref_keymode_title">Zkratky adresářů</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Vypnout</string> <string name="list_pubkeyids_none">Nepoužívat klíče</string> <string name="list_pubkeyids_any">Použít jakýkoliv odemčený klíč</string> - <string name="list_update_daily">Denně</string> - <string name="list_update_weekly">Týdně</string> - <string name="list_update_never">Nikdy</string> <string name="hostpref_nickname_title">Přezdívka</string> <string name="hostpref_color_title">Barevná kategorie</string> <string name="hostpref_fontsize_title">Velikost fontu (pt)</string> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 950155c..5e72bcb 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Skjul statusbar i konsol</string> <string name="pref_memkeys_title">Husk nøgler i hukommelsen</string> <string name="pref_memkeys_summary">Gem oplåste nøgler i hukommelsen indtil baggrunds servicen er afsluttet</string> - <string name="pref_update_title">Opdaterings tjek</string> - <string name="pref_update_summary">Maksimal tid mellem check for opdateringer til ConnectBot</string> <string name="pref_conn_persist_title">Vedvarende forbindelser</string> <string name="pref_conn_persist_summary">Tving forbindelser til at være aktive i baggrunden</string> <string name="pref_keymode_title">Biblioteksgenveje</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Slå fra</string> <string name="list_pubkeyids_none">Brug ikke tasterne</string> <string name="list_pubkeyids_any">Anvend enhver ulåst nøgle</string> - <string name="list_update_daily">Dagligt</string> - <string name="list_update_weekly">Ugenligt</string> - <string name="list_update_never">Aldrig</string> <string name="hostpref_nickname_title">Kaldenavn</string> <string name="hostpref_color_title">Farvekategori</string> <string name="hostpref_fontsize_title">Skriftstørrelse (pt)</string> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 39b517b..a9422d7 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">Host bearbeiten</string> <string name="title_help">Hilfe</string> <string name="title_colors">Farben</string> + <string name="title_color_picker">Farbe wählen</string> <string name="resolve_connect">Verbinden</string> <string name="resolve_entropy">Sammle Entropie</string> <string name="menu_insert">Host hinzufügen</string> @@ -77,10 +78,9 @@ <string name="pref_rotation_summary">Wie soll die Rotation beim Ein-/Ausklappen der Tastatur verändert werden</string> <string name="pref_fullscreen_title">Vollbild</string> <string name="pref_fullscreen_summary">Statuszeile in der Konsole verbergen</string> + <string name="pref_keyboard_category">Tastatur</string> <string name="pref_memkeys_title">Schlüssel im Speicher behalten</string> <string name="pref_memkeys_summary">Entsperrte Schlüssel im Speicher halten, bis der Hintergrunddienst beendet wurde</string> - <string name="pref_update_title">Aktualisierungen suchen</string> - <string name="pref_update_summary">Die maximale Frequenz einstellen, mit der nach ConnectBot Aktualisierungen gesucht werden soll</string> <string name="pref_conn_persist_title">Persistente Verbindungen</string> <string name="pref_conn_persist_summary">Erhalte Verbindungen auch im Hintergrund</string> <string name="pref_keymode_title">Verzeichniskürzel</string> @@ -104,9 +104,6 @@ <string name="list_keymode_none">Ausschalten</string> <string name="list_pubkeyids_none">Keine Schlüssel verwenden</string> <string name="list_pubkeyids_any">Beliebigen entsperrten Schlüssel verwenden</string> - <string name="list_update_daily">Täglich</string> - <string name="list_update_weekly">Wöchentlich</string> - <string name="list_update_never">Niemals</string> <string name="hostpref_nickname_title">Nutzername</string> <string name="hostpref_color_title">Farbkategorie</string> <string name="hostpref_fontsize_title">Fontgröße (pt)</string> @@ -211,8 +208,8 @@ <string name="color_green">grün</string> <string name="color_blue">blau</string> <string name="color_gray">grau</string> - <string name="colors_fg">Schriftfarbe:</string> - <string name="color_bg">Hintergrundfarbe:</string> + <string name="colors_fg_label">SF: %1$d</string> + <string name="color_bg_label">HF: %1$d</string> <string name="image_description_connected">Verbunden.</string> <string name="image_description_key_is_locked">Schlüssel ist gesperrt.</string> <string name="image_description_toggle_control_character">Steuerzeichen umschalten</string> diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 6bc6957..fabe684 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -1,29 +1,7 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- -/* - * ConnectBot: simple, powerful, open-source SSH client for Android - * Copyright 2007 Kenny Root, Jeffrey Sharkey - * Copyright 2011 Darren Salt - * - * This file is derived from res/values/strings.xml - * - * 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. - */ ---> - -<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="title_colors">"Colours"</string> - <string name="hostpref_color_title">"Colour category"</string> - <string name="list_menu_sortcolor">"Sort by colour"</string> - <string name="color_gray">"grey"</string> +<?xml version='1.0' encoding='utf-8'?> +<resources> + <string name="title_colors">Colours</string> + <string name="hostpref_color_title">Colour category</string> + <string name="list_menu_sortcolor">Sort by colour</string> + <string name="color_gray">grey</string> </resources> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 28b4865..87bb50f 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Esconder barra de estatus cuando este en consola</string> <string name="pref_memkeys_title">Recordar claves en memoria</string> <string name="pref_memkeys_summary">Recordar claves en memoria hasta que el servicio en segundo plano termine</string> - <string name="pref_update_title">Revisar por actualizaciones</string> - <string name="pref_update_summary">Establecer la frequencia maxima para revisar actualizaciones de ConnectBot</string> <string name="pref_conn_persist_title">Conexiones persistentes</string> <string name="pref_conn_persist_summary">Mantener conexiones activas en segundo plano</string> <string name="pref_keymode_title">Secuencia de teclas para directorios</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Desactivar</string> <string name="list_pubkeyids_none">No usar teclas</string> <string name="list_pubkeyids_any">Utilizar cualquier clave desbloqueada</string> - <string name="list_update_daily">Diariamente</string> - <string name="list_update_weekly">Semanalmente</string> - <string name="list_update_never">Nunca</string> <string name="hostpref_nickname_title">Apodo</string> <string name="hostpref_color_title">Categoria de colores</string> <string name="hostpref_fontsize_title">Tamaño de la fuente (pt)</string> diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 138dce9..6cf248b 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Ezkutatu egoera-barra kontsola erabiltzean</string> <string name="pref_memkeys_title">Gorde gakoak memorian</string> <string name="pref_memkeys_summary">Gogoratu desblokeatutako gakoak memorian zerbitzua amaitu arte</string> - <string name="pref_update_title">Eguneraketak begiratu</string> - <string name="pref_update_summary">ConnectBot-en eguneraketarik dagoen begiratzeko maiztasun maximoa finkatu</string> <string name="pref_conn_persist_title">Konexio iraunkorrak</string> <string name="pref_conn_persist_summary">Behartu konexioak aktibo mantentzera atzeko planoko daudenean</string> <string name="pref_keymode_title">Direktorien laster-teklak</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Desgaitu</string> <string name="list_pubkeyids_none">Ez erabili gakorik</string> <string name="list_pubkeyids_any">Erabili desblokeatutako edozein gako</string> - <string name="list_update_daily">Egunero</string> - <string name="list_update_weekly">Astero</string> - <string name="list_update_never">Inoiz ez</string> <string name="hostpref_nickname_title">Goitizena</string> <string name="hostpref_color_title">Kolore kategoria</string> <string name="hostpref_fontsize_title">Letra-tamaina (pt)</string> diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index 246cea5..1e35e66 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Piilota ilmoitusalue konsolikäytössä</string> <string name="pref_memkeys_title">Pidä avaimet muistissa</string> <string name="pref_memkeys_summary">Pitää avatut avaimet muistissa kunnes taustapalvelu suljetaan</string> - <string name="pref_update_title">Päivitysten tarkistus</string> - <string name="pref_update_summary">Kuinka usein ConnectBot enintään tarkistaa päivitykset</string> <string name="pref_conn_persist_title">Ylläpidä yhteys</string> <string name="pref_conn_persist_summary">Pakottaa yhteyden pysymään aktiivisena ohjelman ollessa taustalla</string> <string name="pref_keymode_title">Pikanäppäimet</string> @@ -103,9 +101,6 @@ <string name="list_keymode_none">Pois käytöstä</string> <string name="list_pubkeyids_none">Älä käytä avaimia</string> <string name="list_pubkeyids_any">Käytä mitä tahansa avattua avainta</string> - <string name="list_update_daily">Päivittäin</string> - <string name="list_update_weekly">Viikoittain</string> - <string name="list_update_never">Ei koskaan</string> <string name="hostpref_nickname_title">Lempinimi</string> <string name="hostpref_color_title">Väri</string> <string name="hostpref_fontsize_title">Kirjasimen koko (pistettä)</string> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 9255f41..86d7f29 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -75,12 +75,18 @@ <string name="pref_ui_category">Interface utilisateur</string> <string name="pref_rotation_title">Mode de rotation</string> <string name="pref_rotation_summary">Comment changer l\'orientation de l\'écran suivant si le clavier est déplié</string> + <string name="pref_titlebarhide_title">Masquer automatiquement la barre de titre</string> + <string name="pref_titlebarhide_summary">Appuyez sur console pour montrer la barre de titre et accèder au menu</string> <string name="pref_fullscreen_title">Plein écran</string> <string name="pref_fullscreen_summary">Cacher la barre de notifications lorsque la console est active</string> + <string name="pref_shiftfkeys_title">\"Shift+Numéro\" sont les touches de \"F1-F10\"</string> + <string name="pref_shiftfkeys_summary">Sur les claviers matériels, les touches des chiffres envoient F1-F10 avec la touche Shift</string> + <string name="pref_ctrlfkeys_title">Ctrl+Numéro sont les touches de \"F1-F10\"</string> + <string name="pref_ctrlfkeys_summary">Sur les claviers logiciels, les touches des chiffres envoient F1-F10 avec la touche Ctrl</string> + <string name="pref_volumefont_title">Les touches volume changent la taille du texte</string> + <string name="pref_volumefont_summary">La taille du texte peu aussi être changé dans les paramètres par hôte</string> <string name="pref_memkeys_title">Garder les clés en mémoire</string> <string name="pref_memkeys_summary">Garder les clés débloquées en mémoire tant que le service tourne en arrière-plan</string> - <string name="pref_update_title">Vérifier les mises à jour</string> - <string name="pref_update_summary">Régler la fréquence de vérification pour les mises à jour de ConnectBot</string> <string name="pref_conn_persist_title">Connexions persistantes</string> <string name="pref_conn_persist_summary">Forcer les connexions à rester connectées en arrière-plan</string> <string name="pref_keymode_title">Raccourcis de navigation</string> @@ -104,9 +110,6 @@ <string name="list_keymode_none">Désactivé</string> <string name="list_pubkeyids_none">Ne pas utiliser les clés publiques</string> <string name="list_pubkeyids_any">Utiliser une clé pour l\'authentification</string> - <string name="list_update_daily">Journalière</string> - <string name="list_update_weekly">Hebdomadaire</string> - <string name="list_update_never">Jamais</string> <string name="hostpref_nickname_title">Surnom</string> <string name="hostpref_color_title">Catégorie de couleur</string> <string name="hostpref_fontsize_title">Taille de police (pt)</string> @@ -211,8 +214,8 @@ <string name="color_green">vert</string> <string name="color_blue">bleu</string> <string name="color_gray">gris</string> - <string name="colors_fg">PP :</string> - <string name="color_bg">AP :</string> + <string name="colors_fg_label">PP: %1$d</string> + <string name="color_bg_label">AP: %1$d</string> <string name="image_description_connected">Connecté</string> <string name="image_description_key_is_locked">Clef verrouillée</string> <string name="image_description_toggle_control_character">Activer/désactiver le caractère \"contrôle\"</string> diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 7563050..c88fe6b 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -72,8 +72,6 @@ <string name="pref_fullscreen_summary">Esconder a barra de estado cando estea na consola</string> <string name="pref_memkeys_title">Recordar chaves en memoria</string> <string name="pref_memkeys_summary">Manter chaves desbloqueadas en memoria ata que o servicio de backend teña terminado</string> - <string name="pref_update_title">Comprobar actualizacións</string> - <string name="pref_update_summary">Establecer a frecuencia máxima para comprobar as actualizacións de ConnectBot</string> <string name="pref_conn_persist_title">Conexións persistentes</string> <string name="pref_conn_persist_summary">Manter conexións activas en segundo plano</string> <string name="pref_keymode_title">Atallos de teclado para directorios</string> @@ -91,9 +89,6 @@ <string name="list_keymode_none">Deshabilitar</string> <string name="list_pubkeyids_none">Non usar chaves</string> <string name="list_pubkeyids_any">Usar calquera chave desbloqueada</string> - <string name="list_update_daily">Diariamente</string> - <string name="list_update_weekly">Semanalmente</string> - <string name="list_update_never">Nunca</string> <string name="hostpref_fontsize_title">Tamaño da fonte (pt)</string> <string name="hostpref_postlogin_summary">Comandos a executar no servidor remoto unha vez autenticado</string> <string name="hostpref_compression_title">Compresión</string> diff --git a/res/values-he/strings.xml b/res/values-he/strings.xml index 246ee95..9e55f47 100644 --- a/res/values-he/strings.xml +++ b/res/values-he/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">עריכת מארח</string> <string name="title_help">עזרה</string> <string name="title_colors">צבעים</string> + <string name="title_color_picker">בחירת צבע</string> <string name="resolve_connect">התחברות</string> <string name="resolve_entropy">נאסף גיבוב</string> <string name="menu_insert">הוספת מארח</string> @@ -79,8 +80,6 @@ <string name="pref_fullscreen_summary">להסתיר את שורת המצב בעת השימוש במסוף</string> <string name="pref_memkeys_title">לשמור את המפתחות בזיכרון</string> <string name="pref_memkeys_summary">להשאיר את המפתחות לאחר השחרור בזיכרון עד ששירות המנגנון מושבת</string> - <string name="pref_update_title">בדיקת עדכון</string> - <string name="pref_update_summary">הגדרת התדירות המרבית לבדיקת עדכונים של ConnectBot</string> <string name="pref_conn_persist_title">חיבורים עיקשים</string> <string name="pref_conn_persist_summary">לשמור על החיבורים פעילים ברקע</string> <string name="pref_keymode_title">קיצורי ספריות</string> @@ -104,9 +103,6 @@ <string name="list_keymode_none">נטרול</string> <string name="list_pubkeyids_none">לא להשתמש במפתחות</string> <string name="list_pubkeyids_any">שימוש במפתח כלשהו שאינו נעול</string> - <string name="list_update_daily">יומי</string> - <string name="list_update_weekly">שבועי</string> - <string name="list_update_never">לעולם לא</string> <string name="hostpref_nickname_title">כינוי</string> <string name="hostpref_color_title">קטגוריית הצבע</string> <string name="hostpref_fontsize_title">גודל הגופן (נק׳)</string> @@ -211,8 +207,8 @@ <string name="color_green">ירוק</string> <string name="color_blue">כחול</string> <string name="color_gray">אפור</string> - <string name="colors_fg">קדמה:</string> - <string name="color_bg">רקע:</string> + <string name="colors_fg_label">קדמה:%1$d</string> + <string name="color_bg_label">רקע:%1$d</string> <string name="image_description_connected">יש חיבור.</string> <string name="image_description_key_is_locked">המפתח נעול.</string> <string name="image_description_toggle_control_character">החלפת מצב תווי בקרה.</string> diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 4d7138f..269a58b 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Sakrij statusnu liniju u konzoli</string> <string name="pref_memkeys_title">Zapamti ključeve u memoriji</string> <string name="pref_memkeys_summary">Čuvaj otključane ključeve u memoriji dok se ne zatvori pozadinski servis</string> - <string name="pref_update_title">Provjera nadogradnji</string> - <string name="pref_update_summary">Odredi učestalost za provjeru ConnectBot nadogradnji</string> <string name="pref_conn_persist_title">Održavaj konekcije</string> <string name="pref_conn_persist_summary">Prisili konekcije da ostanu spojene u pozadini</string> <string name="pref_keymode_title">Prečaci direktorija</string> diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index f95584b..5a41a02 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Rejtett állapotsor a konzol használata során</string> <string name="pref_memkeys_title">Kulcsok megörzése a memóriában</string> <string name="pref_memkeys_summary">Tartsa nyitva a memóriában lévő kulcsokat amíg a háttérszolgáltatás meg nem szűnik</string> - <string name="pref_update_title">Frissítés ellenőrzése</string> - <string name="pref_update_summary">ConnectBot frissítés ellenőrzésének maximális gyakorisága</string> <string name="pref_conn_persist_title">Kapcsolatok fenntartása</string> <string name="pref_conn_persist_summary">A háttérben tartsa fenn a kapcsolatokat</string> <string name="pref_keymode_title">Könyvtár hivatkozások</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Tiltás</string> <string name="list_pubkeyids_none">Kulcsok használatának tiltása</string> <string name="list_pubkeyids_any">Bármely nyilvános kulcs használata</string> - <string name="list_update_daily">Naponta</string> - <string name="list_update_weekly">Hetente</string> - <string name="list_update_never">Soha</string> <string name="hostpref_nickname_title">Becenév</string> <string name="hostpref_color_title">Szín-kategória</string> <string name="hostpref_fontsize_title">Betűtipus mérete (pt)</string> diff --git a/res/values-id/strings.xml b/res/values-id/strings.xml index 0edb77e..4e98a79 100644 --- a/res/values-id/strings.xml +++ b/res/values-id/strings.xml @@ -6,6 +6,8 @@ <string name="title_pubkey_list">Kunci Publik</string> <string name="title_host_editor">Ubah Host</string> <string name="title_help">Bantuan</string> + <string name="title_colors">Warna</string> + <string name="title_color_picker">Pilih warna</string> <string name="resolve_connect">Hubungi</string> <string name="resolve_entropy">Kumpulkan entropy</string> <string name="menu_insert">Tambahkan host</string> @@ -75,10 +77,9 @@ <string name="pref_rotation_summary">Bagaimana mengubah rotasi ketika papan ketik menyembul masuk/keluar</string> <string name="pref_fullscreen_title">Layar penuh</string> <string name="pref_fullscreen_summary">Sembunyikan bar status ketika dalam konsol</string> + <string name="pref_keyboard_category">Papan tik</string> <string name="pref_memkeys_title">Ingat kunci dalam memori</string> <string name="pref_memkeys_summary">Simpan kunci yang terbuka kedalam memori hingga layanan backend berakhir</string> - <string name="pref_update_title">Memeriksa pembaharuan</string> - <string name="pref_update_summary">Tentukan frekuensi maksimal untuk memeriksa pembaharuan pada ConnectBot</string> <string name="pref_conn_persist_title">Pertahankan koneksi</string> <string name="pref_conn_persist_summary">Paksa koneksi untuk tetap terhubung ketika bekerja di belakang layar</string> <string name="pref_keymode_title">Jalan pintas direktori</string> @@ -102,9 +103,6 @@ <string name="list_keymode_none">Tidak aktif</string> <string name="list_pubkeyids_none">Jangan gunakan kunci</string> <string name="list_pubkeyids_any">Gunakan kunci apapun yang tidak terkunci</string> - <string name="list_update_daily">Harian</string> - <string name="list_update_weekly">Mingguan</string> - <string name="list_update_never">Tidak pernah</string> <string name="hostpref_nickname_title">Nama panggilan</string> <string name="hostpref_color_title">Kategori warna</string> <string name="hostpref_fontsize_title">Ukuran huruf (pt)</string> @@ -123,6 +121,8 @@ <string name="hostpref_encoding_summary">Karakter pengkodean untuk host</string> <string name="hostpref_connection_category">Konfigurasi koneksi</string> <string name="hostpref_username_title">Nama pengguna</string> + <string name="hostpref_hostname_title">Host</string> + <string name="hostpref_port_title">Port</string> <string name="bind_never">Tidak pernah terhubung</string> <string name="bind_minutes">%1$s menit yang lalu</string> <string name="bind_hours">%1$s jam yang lalu</string> @@ -135,6 +135,8 @@ <string name="console_menu_portforwards">Penerusan port</string> <string name="console_menu_resize">Paksakan ukuran</string> <string name="console_menu_urlscan">Pindai URL</string> + <string name="button_yes">Ya</string> + <string name="button_no">Tidak</string> <string name="portforward_local">Lokal</string> <string name="portforward_remote">Remote</string> <string name="portforward_dynamic">Dinamis (SOCKS)</string> @@ -146,6 +148,7 @@ <string name="list_format_error">Gunakan bentuk \"%1$s\"</string> <string name="format_username">pengguna</string> <string name="format_hostname">namahost</string> + <string name="format_port">Port</string> <string name="list_menu_pubkeys">Atur Pubkey</string> <string name="list_menu_sortcolor">Urutkan berdasarkan warna</string> <string name="list_menu_sortname">Urutkan berdasarkan nama</string> @@ -160,7 +163,11 @@ <string name="list_rotation_port">Paksakan bentuk tegak</string> <string name="list_rotation_auto">Otomatis</string> <string name="list_camera_ctrlaspace">Ctrl+A kemudian spasi</string> + <string name="list_camera_ctrla">Ctrl+A</string> + <string name="list_camera_esc">Esc</string> <string name="list_camera_none">Kosong</string> + <string name="list_delkey_backspace">Backspace</string> + <string name="list_delkey_del">Hapus</string> <string name="delete_message">Apakah anda yakin ingin menghapus %1$s?</string> <string name="delete_pos">Ya, hapus</string> <string name="delete_neg">Batal</string> @@ -188,15 +195,18 @@ <string name="terminal_enable_portfoward">Aktifkan port forward: %1$s</string> <string name="local_shell_unavailable">Gagal! Shell lokal tidak tersedia di telepon ini.</string> <string name="notification_text">%1$s memerlukan perhatian anda.</string> + <string name="no">Tidak</string> <string name="with_confirmation">Dengan konfirmasi</string> + <string name="yes">Ya</string> <string name="exceptions_submit_message">Sepertinya ConnectBot mengalami masalah saat berjalan sebelumnya. Kirim laporan galat ke para pengembang ConnectBot?</string> + <string name="menu_colors_reset">Atur ulang</string> <string name="app_is_running">ConnectBot sedang berjalan</string> <string name="color_red">merah</string> <string name="color_green">hijau</string> <string name="color_blue">biru</string> <string name="color_gray">abu-abu</string> - <string name="colors_fg">WD:</string> - <string name="color_bg">WB:</string> + <string name="colors_fg_label">WD: %1$d</string> + <string name="color_bg_label">WB: %1$d</string> <string name="image_description_connected">Tersambung.</string> <string name="image_description_key_is_locked">Pubkey terkunci.</string> <string name="image_description_toggle_control_character">Ubah-ubah karakter control.</string> diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index 5c74d5f..a5fc71f 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -73,8 +73,6 @@ <string name="pref_fullscreen_summary">Fela stöðustiku þegar tenging er virk</string> <string name="pref_memkeys_title">Geyma lykla í minni</string> <string name="pref_memkeys_summary">Geyma ólæsta lykla í minni þangað til forritinu er lokað</string> - <string name="pref_update_title">Athuga með uppfærslu</string> - <string name="pref_update_summary">Velja hve oft ConnectBot leitar að uppfærslum</string> <string name="pref_conn_persist_title">Halda tengingum</string> <string name="pref_conn_persist_summary">Halda tengingum í gangi þegar þær eru í bakgrunni</string> <string name="pref_keymode_title">Orðabók</string> @@ -97,9 +95,6 @@ <string name="list_keymode_none">Afvirkja</string> <string name="list_pubkeyids_none">Ekki nota lykla</string> <string name="list_pubkeyids_any">Nota hvaða ólæsta lykil sem er</string> - <string name="list_update_daily">Daglega</string> - <string name="list_update_weekly">Vikulega</string> - <string name="list_update_never">Aldrei</string> <string name="hostpref_nickname_title">Gælunafn</string> <string name="hostpref_color_title">Lita flokk</string> <string name="hostpref_fontsize_title">Leturstærð (pt)</string> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 12a1752..0b4e29b 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">Modifica connessione</string> <string name="title_help">Guida</string> <string name="title_colors">Colori</string> + <string name="title_color_picker">Scelta colore</string> <string name="resolve_connect">Connetti</string> <string name="resolve_entropy">Raccolta disordinata</string> <string name="menu_insert">Aggiungi connessione</string> @@ -77,10 +78,9 @@ <string name="pref_rotation_summary">Come cambiare rotazione quando la tastiera esce/rientra</string> <string name="pref_fullscreen_title">Schermo intero</string> <string name="pref_fullscreen_summary">Nascondi la barra di stato in console</string> + <string name="pref_keyboard_category">Tastiera</string> <string name="pref_memkeys_title">Mantieni chiavi in memoria</string> <string name="pref_memkeys_summary">Mantiene le chiavi in memoria finché il servizio non viene terminato</string> - <string name="pref_update_title">Controlla aggiornamenti</string> - <string name="pref_update_summary">Imposta la frequenza massima per il controllo degli aggiornamenti</string> <string name="pref_conn_persist_title">Connessioni permanenti</string> <string name="pref_conn_persist_summary">Forza connessioni a rimanere collegate in sottofondo</string> <string name="pref_keymode_title">Scorciatoie directory</string> @@ -104,9 +104,6 @@ <string name="list_keymode_none">Disabilita</string> <string name="list_pubkeyids_none">Non usare chiavi</string> <string name="list_pubkeyids_any">Usa qualsiasi chiave sbloccata</string> - <string name="list_update_daily">Ogni giorno</string> - <string name="list_update_weekly">Ogni settimana</string> - <string name="list_update_never">Mai</string> <string name="hostpref_nickname_title">Soprannome</string> <string name="hostpref_color_title">Categoria colore</string> <string name="hostpref_fontsize_title">Dimensione caratteri (pt)</string> @@ -211,6 +208,8 @@ <string name="color_green">verde</string> <string name="color_blue">blu</string> <string name="color_gray">grigio</string> + <string name="colors_fg_label">CP: %1$d</string> + <string name="color_bg_label">CS: %1$d</string> <string name="image_description_connected">Connesso.</string> <string name="image_description_key_is_locked">La chiave e\' bloccata.</string> <string name="image_description_send_escape_character">Mandare un carattere escape.</string> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 6c5d185..21d4fdc 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -1,12 +1,14 @@ <?xml version='1.0' encoding='utf-8'?> <resources> <string name="app_desc">シンプルでパワフルなオープンソースのSSHクライアント</string> + <string name="service_desc">SSH接続とロードされた公開鍵の管理</string> <string name="title_hosts_list">ホスト</string> <string name="title_pubkey_list">公開鍵</string> <string name="title_port_forwards_list">ポート転送</string> <string name="title_host_editor">ホストを編集</string> <string name="title_help">ヘルプ</string> <string name="title_colors">配色</string> + <string name="title_color_picker">色の取得</string> <string name="resolve_connect">接続</string> <string name="resolve_entropy">エントロピーの取得</string> <string name="menu_insert">ホストを追加</string> @@ -39,6 +41,7 @@ <string name="portforward_edit">ポート転送を編集</string> <string name="portforward_delete">ポート転送を削除</string> <string name="prompt_nickname">鍵の名前</string> + <string name="prompt_nickname_hint_pubkey">私の作業用の鍵</string> <string name="prompt_source_port">ソースポート:</string> <string name="prompt_destination">転送先:</string> <string name="prompt_old_password">旧パスワード:</string> @@ -64,6 +67,7 @@ <string name="button_generate">鍵生成</string> <string name="button_resize">リサイズ</string> <string name="alert_disconnect_msg">接続が失われました.</string> + <string name="msg_copyright">Copyright © 2007-2008 Kenny Root http://the-b.org/, Jeffrey Sharkey http://jsharkey.org/</string> <string name="pref_emulation_category">端末エミュレート</string> <string name="pref_emulation_title">エミュレートモード</string> <string name="pref_emulation_summary">PTYで使う端末エミュレーションモード</string> @@ -72,12 +76,19 @@ <string name="pref_ui_category">ユーザーインターフェース</string> <string name="pref_rotation_title">画面の向き</string> <string name="pref_rotation_summary">キーボードのポップイン/アウト時の向きの変更</string> + <string name="pref_titlebarhide_title">タイトルバーを自動的に隠す</string> + <string name="pref_titlebarhide_summary">タイトルバーとアクセスメニューを表示するにはコンソールをタップ</string> <string name="pref_fullscreen_title">全画面</string> <string name="pref_fullscreen_summary">ステータスバーを隠蔽しコンソールとして利用</string> + <string name="pref_keyboard_category">キーボード</string> + <string name="pref_shiftfkeys_title">Shift+数字はFキー</string> + <string name="pref_shiftfkeys_summary">ハードウェアキーボードで、shiftと数字キーでF1-F10を送信します</string> + <string name="pref_ctrlfkeys_title">Ctrl+数字はFキー</string> + <string name="pref_ctrlfkeys_summary">ソフトウェアキーボードで、ctrlと数字キーでF1-F10を送信します</string> + <string name="pref_volumefont_title">音量ボタンでフォントサイズを変更する</string> + <string name="pref_volumefont_summary">フォントサイズはホストごとの設定でも変更することができます</string> <string name="pref_memkeys_title">メモリに鍵を保持する</string> <string name="pref_memkeys_summary">バックエンドのサービスが終了しない限り、アンロックした鍵をメモリに保持します</string> - <string name="pref_update_title">更新を確認</string> - <string name="pref_update_summary">ConnectBotの更新をチェックする頻度を設定します</string> <string name="pref_conn_persist_title">持続的接続</string> <string name="pref_conn_persist_summary">バックグラウンドでの実行中に接続の持続を強制する</string> <string name="pref_keymode_title">ディレクトリのショートカット</string> @@ -101,9 +112,6 @@ <string name="list_keymode_none">無効</string> <string name="list_pubkeyids_none">公開鍵を使わない</string> <string name="list_pubkeyids_any">アンロックされた鍵のいずれかを使う</string> - <string name="list_update_daily">毎日</string> - <string name="list_update_weekly">毎週</string> - <string name="list_update_never">しない</string> <string name="hostpref_nickname_title">ニックネーム</string> <string name="hostpref_color_title">色の系統</string> <string name="hostpref_fontsize_title">フォントのサイズ (pt)</string> @@ -146,6 +154,7 @@ <string name="portforward_done">ポート転送の作成に成功しました.</string> <string name="portforward_problem">ポート転送の作成ができません.おそらく1024ポート以下か既に利用されているポートを指定されています.</string> <string name="portforward_menu_add">ポート転送の追加</string> + <string name="hint_userhost">ユーザ\@ホスト名</string> <string name="list_format_error">%1$s 形式を使ってください</string> <string name="format_username">ユーザ名</string> <string name="format_hostname">ホスト名</string> @@ -164,7 +173,12 @@ <string name="list_rotation_port">縦向き固定</string> <string name="list_rotation_auto">自動判定</string> <string name="list_camera_ctrlaspace">Ctrl+Aに続いてSpace</string> + <string name="list_camera_ctrla">Ctrl+A</string> + <string name="list_camera_esc">Escキー</string> + <string name="list_camera_esc_a">Esc+A</string> <string name="list_camera_none">なし</string> + <string name="list_delkey_backspace">Backspace</string> + <string name="list_delkey_del">Delete</string> <string name="delete_message">\'%1$s\'を削除してよろしいですか?</string> <string name="delete_pos">はい、削除します</string> <string name="delete_neg">キャンセル</string> @@ -202,4 +216,11 @@ <string name="color_green">緑</string> <string name="color_blue">青</string> <string name="color_gray">グレー</string> + <string name="colors_fg_label">FG: %1$d</string> + <string name="color_bg_label">BG: %1$d</string> + <string name="image_description_connected">接続しました。</string> + <string name="image_description_key_is_locked">キーがロックされました。</string> + <string name="image_description_toggle_control_character">コントロール文字を切り替えます。</string> + <string name="image_description_send_escape_character">エスケープ文字を送信します。</string> + <string name="image_description_show_keyboard">キーボードを表示します。</string> </resources> diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 2993e6d..83313ef 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -73,8 +73,6 @@ <string name="pref_fullscreen_summary">콘솔일 때 상태 표시줄을 숨김</string> <string name="pref_memkeys_title">메모리에 키를 기억</string> <string name="pref_memkeys_summary">백엔드 서비스가 종료되기 전까지 잠금이 풀린 키들을 메모리에 유지합니다</string> - <string name="pref_update_title">업데이트 검사</string> - <string name="pref_update_summary">ConnectBot 업데이트 확인 주기 설정</string> <string name="pref_conn_persist_title">접속 유지</string> <string name="pref_conn_persist_summary">백그라운드 동안에도 강제로 연결된 상태 유지</string> <string name="pref_keymode_title">디렉터리 바로 가기</string> @@ -97,9 +95,6 @@ <string name="list_keymode_none">사용 안 함</string> <string name="list_pubkeyids_none">키 사용 안함</string> <string name="list_pubkeyids_any">잠금키 사용</string> - <string name="list_update_daily">매일</string> - <string name="list_update_weekly">매주</string> - <string name="list_update_never">하지 않음</string> <string name="hostpref_nickname_title">닉네임</string> <string name="hostpref_color_title">색상 카테고리</string> <string name="hostpref_fontsize_title">글꼴 크기 (pt)</string> diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 183a953..9be11ac 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -64,5 +64,4 @@ <string name="pref_fullscreen_title">На цел екран</string> <string name="pref_fullscreen_summary">Сокриј ја статусната трака додека си во конзола</string> <string name="pref_memkeys_title">Запомни ги клучевите во меморија</string> - <string name="pref_update_title">Проверка на ажурирања</string> </resources> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 6f8941e..81025dc 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Gjem statuslinje mens du er i konsoll</string> <string name="pref_memkeys_title">Lagre nøkler</string> <string name="pref_memkeys_summary">Husk opplåste nøkler helt til programmet avsluttes</string> - <string name="pref_update_title">Se etter oppdateringer</string> - <string name="pref_update_summary">Angi hyppigheten for å se etter oppdateringer til ConnectBot</string> <string name="pref_conn_persist_title">Oppretthold forbindelser</string> <string name="pref_conn_persist_summary">Oppretthold forbindelser selv når programmet kjører i bakgrunnen</string> <string name="pref_keymode_title">Hurtigtaster for mapper</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Deaktiver</string> <string name="list_pubkeyids_none">Ikke bruk nøkler</string> <string name="list_pubkeyids_any">Bruk en vilkårlig ulåst tast</string> - <string name="list_update_daily">Daglig</string> - <string name="list_update_weekly">Ukentlig</string> - <string name="list_update_never">Aldri</string> <string name="hostpref_nickname_title">Kallenavn</string> <string name="hostpref_color_title">Fargeinndeling</string> <string name="hostpref_fontsize_title">Skriftstørrelse (pt)</string> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index a4e4a78..7d3af43 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Verberg status balk terwijl in console</string> <string name="pref_memkeys_title">Onthoud sleutels in geheugen</string> <string name="pref_memkeys_summary">Houd ontgrendelde sleutels in geheugen tot achtergrond service is gestopt</string> - <string name="pref_update_title">Update controle</string> - <string name="pref_update_summary">Stel de maximale frequentie in om te controleren voor ConnectBot updates</string> <string name="pref_conn_persist_title">Behoud verbindingen</string> <string name="pref_conn_persist_summary">Forceer dat de verbindingen actief blijven op de achtergrond</string> <string name="pref_keymode_title">Folder snelkoppelingen</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Schakel uit</string> <string name="list_pubkeyids_none">Gebruik sleutels niet</string> <string name="list_pubkeyids_any">Gebruik een willekeurige ontgrendelde sleutel</string> - <string name="list_update_daily">Dagelijks</string> - <string name="list_update_weekly">Wekelijks</string> - <string name="list_update_never">Nooit</string> <string name="hostpref_nickname_title">Bijnaam</string> <string name="hostpref_color_title">Kleur catogorie</string> <string name="hostpref_fontsize_title">Lettergrootte</string> diff --git a/res/values-oc/strings.xml b/res/values-oc/strings.xml index 4acf5bc..aad61b6 100644 --- a/res/values-oc/strings.xml +++ b/res/values-oc/strings.xml @@ -43,13 +43,9 @@ <string name="alert_disconnect_msg">Connexion perduda</string> <string name="pref_ui_category">Interfàcia d\'utilizaire</string> <string name="pref_fullscreen_title">Ecran complet</string> - <string name="pref_update_title">Verificar las mesas a jorn</string> <string name="pref_conn_persist_title">Connexions persistentas</string> <string name="pref_keymode_title">Acorchis de navigacion</string> <string name="list_keymode_none">Desactivar</string> - <string name="list_update_daily">Cada jorn</string> - <string name="list_update_weekly">Cada setmana</string> - <string name="list_update_never">Pas jamai</string> <string name="hostpref_nickname_title">Escais</string> <string name="hostpref_encoding_title">Encodatge</string> <string name="hostpref_connection_category">Paramètre de connexion</string> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 2cbde54..7f320b0 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">Edytuj host</string> <string name="title_help">Pomoc</string> <string name="title_colors">Kolory</string> + <string name="title_color_picker">Wybór koloru</string> <string name="resolve_connect">Połącz</string> <string name="resolve_entropy">Zbierz dane losowe</string> <string name="menu_insert">Dodaj host</string> @@ -77,10 +78,9 @@ <string name="pref_rotation_summary">Sposób orientacji ekranu przy wysuniętej/wsuniętej klawiaturze</string> <string name="pref_fullscreen_title">Pełny ekran</string> <string name="pref_fullscreen_summary">Ukryj pasek statusu podczas pracy w konsoli</string> + <string name="pref_keyboard_category">Klawiatura</string> <string name="pref_memkeys_title">Zapamiętaj klucze w pamięci</string> <string name="pref_memkeys_summary">Trzymaj odblokowane klucze w pamięci dopóki usługa się nie rozłączy</string> - <string name="pref_update_title">Sprawdź aktualizacje</string> - <string name="pref_update_summary">Ustawienie częstości sprawdzania aktualizacji</string> <string name="pref_conn_persist_title">Utrzymuj połącznia</string> <string name="pref_conn_persist_summary">Wymuś utrzymanie połączeń, gdy aplikacja działa w tle</string> <string name="pref_keymode_title">Skróty klawiaturowe</string> @@ -104,9 +104,6 @@ <string name="list_keymode_none">Wyłącz</string> <string name="list_pubkeyids_none">Nie używaj kluczy</string> <string name="list_pubkeyids_any">Użyj dowolnego odblokowanego klucza</string> - <string name="list_update_daily">Dziennie</string> - <string name="list_update_weekly">Tygodniowo</string> - <string name="list_update_never">Nigdy</string> <string name="hostpref_nickname_title">Nazwa skrócona</string> <string name="hostpref_color_title">Kolor kategorii</string> <string name="hostpref_fontsize_title">Rozmiar czcionki</string> @@ -211,8 +208,8 @@ <string name="color_green">zielony</string> <string name="color_blue">niebieski</string> <string name="color_gray">szary</string> - <string name="colors_fg">FG:</string> - <string name="color_bg">BG:</string> + <string name="colors_fg_label">FG: %1$d</string> + <string name="color_bg_label">BG: %1$d</string> <string name="image_description_connected">Połączono</string> <string name="image_description_key_is_locked">Klucz zablokowany</string> <string name="image_description_toggle_control_character">Przełącz znak kontrolny</string> diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml index f4d06f0..79f5620 100644 --- a/res/values-pt-rBR/strings.xml +++ b/res/values-pt-rBR/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">Edição de Host</string> <string name="title_help">Ajuda</string> <string name="title_colors">Cores</string> + <string name="title_color_picker">Escolha a cor</string> <string name="resolve_connect">Conectar</string> <string name="resolve_entropy">Sensibilidade</string> <string name="menu_insert">Adicionar Host</string> @@ -77,10 +78,9 @@ <string name="pref_rotation_summary">Como alterar a rotação da tela quando se conecta/desconecta um teclado</string> <string name="pref_fullscreen_title">Tela cheia</string> <string name="pref_fullscreen_summary">Ocultar a barra de estatus no modo terminal</string> + <string name="pref_keyboard_category">Teclado</string> <string name="pref_memkeys_title">Guardar as chaves em memória</string> <string name="pref_memkeys_summary">Manter chaves desbloqueadas na memória até que o serviço seja terminado</string> - <string name="pref_update_title">Procurar por atualizações</string> - <string name="pref_update_summary">Configurar frequencia para checar atualizações do ConnectBot</string> <string name="pref_conn_persist_title">Conexões persistentes</string> <string name="pref_conn_persist_summary">Forçar as conexões para que continuem conectadas mesmo em segundo plano</string> <string name="pref_keymode_title">Teclas de atalho</string> @@ -104,9 +104,6 @@ <string name="list_keymode_none">Desabilitar</string> <string name="list_pubkeyids_none">Não usar chaves</string> <string name="list_pubkeyids_any">Usar qualquer chave pública</string> - <string name="list_update_daily">Diariamente</string> - <string name="list_update_weekly">Semanalmente</string> - <string name="list_update_never">Nunca</string> <string name="hostpref_nickname_title">Apelido</string> <string name="hostpref_color_title">Categoria de cor</string> <string name="hostpref_fontsize_title">Tamanho da fonte (pontos)</string> @@ -211,8 +208,8 @@ <string name="color_green">verde</string> <string name="color_blue">azul</string> <string name="color_gray">cinza</string> - <string name="colors_fg">PP:</string> - <string name="color_bg">SP:</string> + <string name="colors_fg_label">PP: %1$d</string> + <string name="color_bg_label">SP: %1$d</string> <string name="image_description_connected">Conectado.</string> <string name="image_description_key_is_locked">A chave está bloqueada.</string> <string name="image_description_send_escape_character">Enviar caractere de escape.</string> diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 401bc69..4aeb1a2 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Esconder a barra de notificação quando estiver na consola</string> <string name="pref_memkeys_title">Lembrar chaves em memoria</string> <string name="pref_memkeys_summary">Manter chaves desbloqueadas em memória até ao serviço de fundo terminar</string> - <string name="pref_update_title">Verificar actualizações</string> - <string name="pref_update_summary">Definir a frequência máxima para verificar actualizações do ConnectBot</string> <string name="pref_conn_persist_title">Persistir ligações</string> <string name="pref_conn_persist_summary">Forçar ligações a ficarem ligadas quando em segundo plano</string> <string name="pref_keymode_title">Atalhos de directoria</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Desactivar</string> <string name="list_pubkeyids_none">Não usar teclas</string> <string name="list_pubkeyids_any">Usar qualquer tecla não bloqueada</string> - <string name="list_update_daily">Diariamente</string> - <string name="list_update_weekly">Semanalmente</string> - <string name="list_update_never">Nunca</string> <string name="hostpref_nickname_title">Alcunha</string> <string name="hostpref_color_title">Categoria de cor</string> <string name="hostpref_fontsize_title">Tamanho da fonte (pt)</string> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index e80b26b..61e19c3 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -75,12 +75,13 @@ <string name="pref_ui_category">Пользовательский интерфейс</string> <string name="pref_rotation_title">Настройки ориентации экрана</string> <string name="pref_rotation_summary">Настройки смены ориентации дисплея при пользовании клавиатурой</string> + <string name="pref_titlebarhide_title">Автоскрытие заголовка</string> <string name="pref_fullscreen_title">Полный экран</string> <string name="pref_fullscreen_summary">Убирать область статуса во время работы с консолью</string> + <string name="pref_ctrlfkeys_title">Ctrl+num аналогично F-keys</string> + <string name="pref_volumefont_title">Клавиша громкости регулирует размер шрифта</string> <string name="pref_memkeys_title">Запомнить ключи в памяти</string> <string name="pref_memkeys_summary">Держать ключи в памяти пока процессы работают</string> - <string name="pref_update_title">Проверка обновления</string> - <string name="pref_update_summary">Как часто проверять обновления для ConnectBot</string> <string name="pref_conn_persist_title">Постоянные соединения</string> <string name="pref_conn_persist_summary">Принудительно сохранять соединение в фоновом режиме.</string> <string name="pref_keymode_title">Ярлыки папок</string> @@ -104,9 +105,6 @@ <string name="list_keymode_none">Отключить</string> <string name="list_pubkeyids_none">Не использовать ключи</string> <string name="list_pubkeyids_any">Использовать любую свободную клавишу</string> - <string name="list_update_daily">Ежедневно</string> - <string name="list_update_weekly">Еженедельно</string> - <string name="list_update_never">Никогда</string> <string name="hostpref_nickname_title">Псевдоним</string> <string name="hostpref_color_title">Цвет для категории</string> <string name="hostpref_fontsize_title">Размер шрифта</string> @@ -212,5 +210,6 @@ <string name="color_blue">синий</string> <string name="color_gray">серый</string> <string name="image_description_connected">Подключено</string> + <string name="image_description_key_is_locked">Ключ заблокирован</string> <string name="image_description_show_keyboard">Показать клавиатуру</string> </resources> diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 2920121..aa5e226 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Skryť stavový riadok, keď je zobrazená konzola</string> <string name="pref_memkeys_title">Zapamätať kľúče v pamäti</string> <string name="pref_memkeys_summary">Ponechať odomknuté kľúče v pamäti pokiaľ nie je ukončená služba na pozadí.</string> - <string name="pref_update_title">Kontrolovať aktualizácie</string> - <string name="pref_update_summary">Nastaviť maximálnu frekvenciu kontroly aktualizácií pre ConnectBot</string> <string name="pref_conn_persist_title">Perzistentné pripojenia</string> <string name="pref_conn_persist_summary">Vynútiť spojenie aj v pozadí</string> <string name="pref_keymode_title">Skratky adresárov</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Vypnúť</string> <string name="list_pubkeyids_none">Nepoužívať kľúče</string> <string name="list_pubkeyids_any">Použiť ktorýkoľvek odomknutý kľúč</string> - <string name="list_update_daily">Denne</string> - <string name="list_update_weekly">Týždenne</string> - <string name="list_update_never">Nikdy</string> <string name="hostpref_nickname_title">Prezývka</string> <string name="hostpref_color_title">Farebná kategória</string> <string name="hostpref_fontsize_title">Veľkosť písma (bodov)</string> diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 1647a94..8552716 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Skrij vrstico stanja, ko v konzoli</string> <string name="pref_memkeys_title">Zapomni ključe v spominu</string> <string name="pref_memkeys_summary">Hrani odklenjene ključe v spomnu dokler storitev v zaledju ni zaključena</string> - <string name="pref_update_title">Pregled posodobitev</string> - <string name="pref_update_summary">Nastavite največjo pogostost za preverjanje posodobitev za ConnectBota</string> <string name="pref_conn_persist_title">Obstojne povezave</string> <string name="pref_conn_persist_summary">Prisili povezave, da ostanejo povezane v ozadju</string> <string name="pref_keymode_title">Bližnjice mape</string> @@ -101,9 +99,6 @@ <string name="list_keymode_none">Onemogoči</string> <string name="list_pubkeyids_none">Ne uporabljaj ključev</string> <string name="list_pubkeyids_any">Uporabi kateregakoli odklenjenega ključa</string> - <string name="list_update_daily">Dnevno</string> - <string name="list_update_weekly">Tedensko</string> - <string name="list_update_never">Nikoli</string> <string name="hostpref_nickname_title">Vzdevek</string> <string name="hostpref_color_title">Barvna kategorija</string> <string name="hostpref_fontsize_title">Velikost pisave (pt)</string> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml new file mode 100644 index 0000000..370e630 --- /dev/null +++ b/res/values-sr/strings.xml @@ -0,0 +1,516 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* + * ConnectBot: simple, powerful, open-source SSH client for Android + * Copyright 2007 Kenny Root, Jeffrey Sharkey + * + * 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. + */ +--> + +<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- app_name needs to be translated/transcribed in Serbian --> + <string name="app_name">Конектбот</string> + + <!-- Summary of what ConnectBot is; used as a short description in the Android running apps list --> + <string name="app_desc">"Једноставан, моћан, ССХ клијент отвореног кôда."</string> + + <!-- Summary of what the ConnectBot service does; displayed in the Android running apps list --> + <string name="service_desc">"Одржава ССХ везе и учитане јавне кључеве"</string> + + <!-- Window title for the Host List --> + <string name="title_hosts_list">"Домаћини"</string> + <!-- Window title for the Pubkeys List --> + <string name="title_pubkey_list">"Јавни кључеви"</string> + <!-- Window title for the Port Forwards List --> + <string name="title_port_forwards_list">"Прослеђени портови"</string> + <!-- Window title when editing host details --> + <string name="title_host_editor">"Уреди домаћина"</string> + <!-- Window title for Help index --> + <string name="title_help">"Помоћ"</string> + <!-- Window title for color list editing screen --> + <string name="title_colors">"Боје"</string> + <!-- Dialog title for color picker dialog --> + <string name="title_color_picker">"Изаберите боју"</string> + + <string name="resolve_connect">"Повежи"</string> + <!-- Menu selection where user must move finger randomly over an area to gather entropy (collect random bits) --> + <string name="resolve_entropy">"Сакупи ентропију"</string> + + <string name="menu_insert">"Додај домаћина"</string> + <string name="menu_delete">"Обриши домаћина"</string> + <string name="menu_preferences">"Поставке"</string> + + <string name="help_intro">"Изаберите тему испод за више информација о поједином предмету."</string> + <string name="help_about">"О Конектботу"</string> + <string name="help_keyboard">"Тастатура"</string> + + <string name="pubkey_generate">"Генериши"</string> + <string name="pubkey_import">"Увези"</string> + <string name="pubkey_delete">"Обриши кључ"</string> + <!-- Dialog title when user must move finger randomly over an area to gather entropy (collect random bits) --> + <string name="pubkey_gather_entropy">"Сакупљам ентропију"</string> + <string name="pubkey_touch_prompt">"Додирните овде да бисте сакупили ентропију: %1$d%% завршено"</string> + <string name="pubkey_touch_hint">"Да бисте осигурали насумичност током генерисања кључа, померајте прст насумично преко поља испод."</string> + <string name="pubkey_generating">"Генеришем пар кључева..."</string> + <string name="pubkey_copy_private">"Копирај приватни кључ"</string> + <string name="pubkey_copy_public">"Копирај јавни кључ"</string> + <!-- Note that the '\n' just splits lines, so it's actually "create or import" --> + <string name="pubkey_list_empty">"Тапните „Мени“ да бисте направили "\n"или увезли пар кључева."</string> + <string name="pubkey_unknown_format">"Непознат формат"</string> + <string name="pubkey_change_password">"Измени лозинку"</string> + <string name="pubkey_list_pick">"Изабери са /sdcard"</string> + <string name="pubkey_import_parse_problem">"Проблем рашчлањивања увезеног приватног кључа"</string> + <string name="pubkey_unlock">"Откључај кључ"</string> + <string name="pubkey_failed_add">"Лоша лозинка за кључ „%1$s“. Аутентификација није успела."</string> + <string name="pubkey_memory_load">"Учитај у меморију"</string> + <string name="pubkey_memory_unload">"Уклони из меморије"</string> + <string name="pubkey_load_on_start">"Учитај кључеве по покретању"</string> + <!-- Pubkey preference asking user whether the key use should be confirmed via prompt before it can be used for authentication --> + <string name="pubkey_confirm_use">"Потврди пре употребе"</string> + + <!-- Note that the '\n' splits lines, so it's actually "create port forwards" --> + <string name="portforward_list_empty">"Тапните „Мени“ да бисте направили"\n"прослеђење порта."</string> + <string name="portforward_edit">"Уреди прослеђење порта"</string> + <string name="portforward_delete">"Обриши прослеђење порта"</string> + + <string name="prompt_nickname">"Надимак:"</string> + <!-- An example string that could be used as a nickname for a pubkey. --> + <string name="prompt_nickname_hint_pubkey">"Мој радни кључ"</string> + <!-- The source TCP port for port forwards. --> + <string name="prompt_source_port">"Изворни порт:"</string> + <!-- The "host:port" combination used for port forward destinations. --> + <string name="prompt_destination">"Одредиште:"</string> + <string name="prompt_old_password">"Стара лозинка:"</string> + <string name="prompt_password">"Лозинка:"</string> + <!-- Added after a "Password:" prompt to indicate user needs to confirm entry. --> + <string name="prompt_again">"(поново)"</string> + <!-- Label for the user to select port forward type. --> + <string name="prompt_type">"Тип:"</string> + <string name="prompt_password_can_be_blank">"Напомена: лозинка може да буде празна"</string> + <!-- Prompt for the size of the private key in bits. --> + <string name="prompt_bits">"Бита:"</string> + + <!-- Prompt for the password to unlock a certain pubkey. --> + <string name="prompt_pubkey_password">"Лозинка за кључ „%1$s“"</string> + + <!-- Prompt for whether to allow SSH Authentication Agent to use the specified key. Note that the '\n' means split the line so it's actually "host to use key" --> + <string name="prompt_allow_agent_to_use_key">"Дозволити удаљеном домаћину да"\n"користи тастер „%1$s“?"</string> + + <!-- The header of the warning a user gets when the host key has changed. Note that this can be a very serious attack, so we try to be as "loud" to the user as possible. --> + <string name="host_verification_failure_warning_header">"УПОЗОРЕЊЕ: ИДЕНТИФИКАЦИЈА УДАЉЕНОГ ДОМАЋИНА ЈЕ ИЗМЕЊЕНА!"</string> + <!-- The body of the warning a user gets when the host key has changed. Note that this can be a very serious attack, so we try to be as "loud" to the user as possible. --> + <string name="host_verification_failure_warning">"МОГУЋЕ ЈЕ ДА НЕКО РАДИ НЕШТО ЛОШЕ!"\n"Неко вас можда управо прислушкује (човек-између напад)!"\n"Такође је могуће да је кључ домаћина управо измењен."</string> + + <!-- Prompt user gets when the remote host has disconnected unexpectedly. --> + <string name="prompt_host_disconnected">"Домаћин је прекинуо везу."\n"Да затворим сесију?"</string> + <!-- Prompt user must answer yes or no to when the remote host fails verification of encryption fingerprint --> + <string name="prompt_continue_connecting">"Желите ли заиста да"\n"наставите повезивање?"</string> + + <!-- Sent to user when the remote public encryption key fingerprint doesn't match the local database --> + <string name="host_authenticity_warning">"Не могу да утврдим аутентичност домаћина „%1$s“."</string> + <!-- First field is encryption algorithm. Second is the actual fingerprint in hex digits --> + <string name="host_fingerprint">"Отисак домаћина %1$s је %2$s"</string> + + <string name="alert_passwords_do_not_match_msg">"Лозинке се поклапају!"</string> + <string name="alert_wrong_password_msg">"Погрешна лозинка!"</string> + <string name="alert_key_corrupted_msg">"Изгледа да је приватни кључ покварен!"</string> + <string name="alert_sdcard_absent">"СД картица није уметнута!"</string> + + <!-- Add a new item (e.g., host or pubkey) to the list. --> + <string name="button_add">"Додај"</string> + <!-- Change an existing item's (e.g., host or pubkey) details. --> + <string name="button_change">"Измени"</string> + <!-- Button that begins the generation of a public key pair. --> + <string name="button_generate">"Генериши кључ"</string> + <!-- Button that resizes the screen to the user-specified dimensions. --> + <string name="button_resize">"Промени величину"</string> + + <string name="alert_disconnect_msg">"Веза изгубљена"</string> + + <string name="msg_copyright">"Ауторско право © 2007-2008 Kenny Root http://the-b.org/, Jeffrey Sharkey http://jsharkey.org/"</string> + + <!-- The category title for terminal emulation preferences. --> + <string name="pref_emulation_category">"Емулација терминала"</string> + + <!-- Name for the emulation terminal type preference. --> + <string name="pref_emulation_title">"Режим емулације"</string> + <!-- Description of the emulation terminal type preference. --> + <string name="pref_emulation_summary">"Режим емулације терминала за PTY везе"</string> + + <!-- Name for the scrollback size preference --> + <string name="pref_scrollback_title">"Величина преписа"</string> + <!-- Description of the scrollback size preference --> + <string name="pref_scrollback_summary">"Величина бафера преписа који се држи у меморији за сваку конзолу"</string> + + <!-- The category title for user interface preferences --> + <string name="pref_ui_category">"Корисничко сучеље"</string> + + <!-- Name for the rotation mode preference --> + <string name="pref_rotation_title">"Режим ротације"</string> + <!-- Summary for the rotation mode preference --> + <string name="pref_rotation_summary">"Како променити ротацију при извлачењу/увлачењу тастатуре"</string> + + <!-- Name for the titlebar hide preference --> + <string name="pref_titlebarhide_title">"Аутоматски сакриј траку наслова"</string> + <!-- Summary for the titlebar hide preference --> + <string name="pref_titlebarhide_summary">"Тапните конзолу да бисте приказали траку наслова и приступили менију"</string> + + <!-- Name for the full screen preference --> + <string name="pref_fullscreen_title">"Цео екран"</string> + <!-- Summary for the full screen preference --> + <string name="pref_fullscreen_summary">"Сакриј траку стања при раду у конзоли"</string> + + <!-- The category title for keyboard preferences --> + <string name="pref_keyboard_category">"Тастатура"</string> + + <!-- Name for the shifted numbers are f-keys preference --> + <string name="pref_shiftfkeys_title">"Shift+num су F-тастери"</string> + <!-- Summary for the shifted numbers are f-keys preference --> + <string name="pref_shiftfkeys_summary">"На хардверским тастатурама, тастери бројева шаљу F1-F10 са Shift"</string> + + <!-- Name for the ctrl'ed numbers are f-keys preference --> + <string name="pref_ctrlfkeys_title">"Ctrl+num су F-тастери"</string> + <!-- Summary for the ctrl'ed numbers are f-keys preference --> + <string name="pref_ctrlfkeys_summary">"На софтверским тастатурама, тастери бројева шаљу F1-F10 са Ctrl"</string> + + <!-- Name for the volume keys control font size preference --> + <string name="pref_volumefont_title">"Тастери за звук мењају вел. фонта"</string> + <!-- Summary for the volume keys control font size preference --> + <string name="pref_volumefont_summary">"Величину фонта такође можете да мењате у поставкама по домаћину"</string> + + <!-- Name for the memorize keys preference --> + <string name="pref_memkeys_title">"Држи кључеве у меморији"</string> + <!-- Summary for the memorize keys preference --> + <string name="pref_memkeys_summary">"Држи откључане кључеве у меморији док се позадински сервис не оконча"</string> + + <!-- Name for the preference that forces the service to stay running in the background.--> + <string name="pref_conn_persist_title">"Трајне везе"</string> + <!-- Summary for the preference that forces the service to stay running in the background. --> + <string name="pref_conn_persist_summary">"Присили одржање веза при раду у позадини"</string> + + <!-- Name for the keyboard shortcuts preference --> + <string name="pref_keymode_title">"Пречице директоријума"</string> + <!-- Summary for the keyboard shortcuts preference --> + <string name="pref_keymode_summary">"Одредите како користити Alt за „/“ и Shift за табулатор"</string> + + <!-- Name for the sticky modifiers preference --> + <string name="pref_stickymodifiers_title">"Лепљиви модификатори"</string> + <!-- Summary for the sticky modifiers preference --> + <string name="pref_stickymodifiers_summary">"Модификаторски тастери остају укључени до притиска на други тастер"</string> + + <!-- Sticky modifier preference value description for when only the Alt key should be a sticky modifier. --> + <string name="only_alt">"Само Alt"</string> + + <!-- Name for the camera shortcut usage preference --> + <string name="pref_camera_title">"Пречица камере"</string> + <!-- Summary for the camera shortcut usage preference --> + <string name="pref_camera_summary">"Одредите пречицу за окидање по притиску на тастер камере"</string> + + <!-- Name for the keep screen on preference --> + <string name="pref_keepalive_title">"Држи екран укљученим"</string> + <!-- Summary for the camera shortcut usage preference --> + <string name="pref_keepalive_summary">"Спречи искључивање екрана при раду у конзоли"</string> + + <!-- Name for the Wi-Fi lock preference --> + <string name="pref_wifilock_title">"Држи бежични активним"</string> + <!-- Summary for the Wi-Fi lock preference --> + <string name="pref_wifilock_summary">"Спречи искључивање бежичног кад је сесија активна"</string> + + <!-- Name for the haptic feedback (bumpy arrow) preference --> + <string name="pref_bumpyarrows_title">"Џомбасте стрелице"</string> + <!-- Summary for the haptic feedback (bumpy arrow) preference --> + <string name="pref_bumpyarrows_summary">"Вибрирај по слању тастера стрелице са трекбола; корисно при спорим везама"</string> + + <!-- Category title for the Terminal Bell preferences --> + <string name="pref_bell_category">"Звоно терминала"</string> + + <!-- Checkbox preference title for the audible terminal bell feature --> + <string name="pref_bell_title">"Звучно звоно"</string> + + <!-- Title for the slider preference to set the volume --> + <string name="pref_bell_volume_title">"Јачина звука звона"</string> + + <!-- Checkbox preference title for the vibrate on terminal bell feature --> + <string name="pref_bell_vibrate_title">"Вибрирај на звоно"</string> + + <!-- Checkbox preference title for the receive notifications on terminal bell feature --> + <string name="pref_bell_notification_title">"Позадинска обавештења"</string> + <!-- Brief summary of the feature that is enabled when the checkbox preference for the receive notifications on terminal bell feature is checked --> + <string name="pref_bell_notification_summary">"Прикажи обавештење кад терминал у позадини огласи звоно."</string> + + <!-- Preference selection to indicate use of right side of keyboard for special shortcuts. --> + <string name="list_keymode_right">"Користи тастере десне стране"</string> + <!-- Preference selection to indicate use of left side of keyboard for special shortcuts. --> + <string name="list_keymode_left">"Користи тастере леве стране"</string> + <!-- Preference selection to indicate never to use special shortcut keys. --> + <string name="list_keymode_none">"Онемогући"</string> + + <!-- Preference to not use pubkeys to authenticate to this host. --> + <string name="list_pubkeyids_none">"Не користи кључеве"</string> + <!-- Preference to use any pubkey to authenticate to this host. --> + <string name="list_pubkeyids_any">"Користи било који откључани кључ"</string> + + <!-- Host nickname field preference title --> + <string name="hostpref_nickname_title">"Надимак"</string> + + <!-- Host color category preference title --> + <string name="hostpref_color_title">"Категорија боје"</string> + + <!-- Host's default font size when opening the terminal in points (pt) --> + <string name="hostpref_fontsize_title">"Величина фонта (pt)"</string> + + <!-- Host pubkey usage preference title --> + <string name="hostpref_pubkeyid_title">"Користи аутентификацију кључем"</string> + + <!-- Preference title for the SSH Authentication Agent Forwarding for a host connection --> + <string name="hostpref_authagent_title">"Користи ССХ агента за аутентификацију"</string> + + <!-- Host post-login automation preference title --> + <string name="hostpref_postlogin_title">"Аутоматизација по пријави"</string> + <!-- Host post-login automation preference summary --> + <string name="hostpref_postlogin_summary">"Наредбе за покретање на удаљеном серверу након аутентификације"</string> + + <!-- Host compression preference title --> + <string name="hostpref_compression_title">"Компресија"</string> + <!-- Summary for compression preference --> + <string name="hostpref_compression_summary">"Ово може да помогне при спорим мрежама"</string> + + <!-- Setting for whether we want a session to start up when we connect to a host --> + <string name="hostpref_wantsession_title">"Покрени сесију шкољке"</string> + <!-- Summary for field asking whether a shell session should be started up upon connection or not --> + <string name="hostpref_wantsession_summary">"Онемогућите да бисте користили само прослеђења портова"</string> + + <!-- Setting for whether the host should be reconnected to automatically upon disconnect --> + <string name="hostpref_stayconnected_title">"Остани повезан"</string> + <!-- Summary for preference asking whether the host should be reconnected to when it disconnects --> + <string name="hostpref_stayconnected_summary">"Покушај се поново повезати по прекиду везе"</string> + + <!-- Setting for whether we should prompt to close after getting disconnected --> + <string name="hostpref_quickdisconnect_title">"Затвори по прекиду"</string> + <string name="hostpref_quickdisconnect_summary">"Затвори без питања одмах по прекиду везе."</string> + + <!-- Setting for what key code is sent to the server when DEL key is pressed. --> + <string name="hostpref_delkey_title">"DEL тастер"</string> + <!-- Summary for field asking what key code is sent to the server when DEL key is pressed. --> + <string name="hostpref_delkey_summary">"Кôд тастера који се шаље притиском на DEL тастер"</string> + + <!-- Host character encoding preference title --> + <string name="hostpref_encoding_title">"Кодирање"</string> + <!-- Host character encoding preference summary --> + <string name="hostpref_encoding_summary">"Кодирање за домаћина"</string> + + <!-- Host preference category title for connection settings --> + <string name="hostpref_connection_category">"Поставке везе"</string> + + <!-- Username field title for host editor preference --> + <string name="hostpref_username_title">"Корисничко име"</string> + + <!-- Hostname field title for host editor preference --> + <string name="hostpref_hostname_title">"Домаћин"</string> + + <!-- Port field title for host editor preference --> + <string name="hostpref_port_title">"Порт"</string> + + <!-- Displayed to indicate a host has never been connected to. --> + <string name="bind_never">"Никад повезиван"</string> + <!-- The time that has elapsed since a host was connected to when it has been less than an hour. --> + <string name="bind_minutes">"пре %1$s минут(а)"</string> + <!-- The time that has elapsed since a host was connected to when it has been less than a day. --> + <string name="bind_hours">"пре %1$s сата(и)"</string> + <!-- The time that has elapsed since a host was connected to when it has been a day or more. --> + <string name="bind_days">"пре %1$s дан(а)"</string> + + <!-- Message given when user copies from the terminal. --> + <string name="console_copy_done">"Копирано %1$d бајта на клипборд"</string> + <!-- Instructions for how to copy from the terminal. The '\n' entries are to split lines to improve readability and prevent wrapping off the screen. --> + <string name="console_copy_start">"Додирните и превуците"\n"или користите дирекциони контролер"\n"да изаберете површину за копирање</string> + + <!-- Button to close the disconnected terminal window. --> + <string name="console_menu_close">"Затвори"</string> + <!-- Button to begin copying from the terminal to the clipboard. --> + <string name="console_menu_copy">"Копирај"</string> + <!-- Button to paste from the clipboard to the terminal. --> + <string name="console_menu_paste">"Налепи"</string> + <!-- Button that brings user to the Port Forwards List. --> + <string name="console_menu_portforwards">"Прослеђења портова"</string> + <!-- Button that brings user to the terminal resizing dialog where they can force a size. --> + <string name="console_menu_resize">"Наметни величину"</string> + <!-- Button that brings up the list of URLs on the current screen --> + <string name="console_menu_urlscan">"Тражење УРЛова"</string> + + <!-- Button label to answer "Yes" to a yes/no prompt --> + <string name="button_yes">"Да"</string> + <!-- Button label to answer "No" to a yes/no prompt --> + <string name="button_no">"Не"</string> + + <!-- Selection for a "local" port forward. E.g., connections to a port listening locally is forwarded to the remote end's listening port. --> + <string name="portforward_local">"локални"</string> + <!-- Selection for a "remote" port forward. E.g., connections to a port listening remotely is forwarded to the local end's listening port. --> + <string name="portforward_remote">"удаљени"</string> + <!-- Selection for a "dynamic" port forward. E.g., connections to a port listening locally is forwarded based on the SOCKS protocol to an arbitrary remote host and port. --> + <string name="portforward_dynamic">"динамички (СОЦКС)"</string> + <!-- Button that commits the port forward to be made from the Port Forward Creation dialog. --> + <string name="portforward_pos">"Направи прослеђење порта"</string> + + <string name="portforward_done">"Успешно направљено прослеђење порта"</string> + <string name="portforward_problem">"Појавио се проблем при прављењу прослеђења порта. Можда користите портове испод 1024 или је порт већ у употреби?"</string> + + <string name="portforward_menu_add">"Додај прослеђење порта"</string> + + <!-- The string to present in the quick-connect box to hint the user to the format for connecting to hosts. --> + <string name="hint_userhost">"korisnik@domacin"</string> + + <!-- Hint given to user when the format they're using is incorrect in the quick-connect box. --> + <string name="list_format_error">"Користи формат „%1$s“"</string> + + <!-- Part of the formatting hints that will be used like: username@hostname:port --> + <string name="format_username">"korisnik"</string> + <!-- Part of the formatting hints that will be used like: username@hostname:port --> + <string name="format_hostname">"domacin"</string> + <!-- Part of the formatting hints that will be used like: username@hostname:port --> + <string name="format_port">"port"</string> + + <string name="list_menu_pubkeys">"Управљај кључевима"</string> + <!-- Selection choice to sort hosts by color. --> + <string name="list_menu_sortcolor">"Поређај по боји"</string> + <!-- Selection choice to sort hosts by nickname. --> + <string name="list_menu_sortname">"Поређај по имену"</string> + <string name="list_menu_settings">"Поставке"</string> + + <string name="list_host_disconnect">"Прекини везу"</string> + <string name="list_host_edit">"Уреди домаћина"</string> + <string name="list_host_portforwards">"Уреди прослеђења портова"</string> + <string name="list_host_delete">"Обриши домаћина"</string> + <!-- Note that the '\n' splits the lines so it's actually "quick-connect box below to connect" --> + <string name="list_host_empty">"Користите поље за брзо повезивање "\n"испод да бисте се повезали са домаћином."</string> + + <!-- Default screen rotation preference selection --> + <string name="list_rotation_default">"Подразумевана"</string> + <string name="list_rotation_land">"Наметни пејзаж"</string> + <string name="list_rotation_port">"Наметни портрет"</string> + <!-- Selection to indicate the rotation should be selected automatically based on the tilt sensor. --> + <string name="list_rotation_auto">"Аутоматска"</string> + + <!-- Selection to indicate pressing the Camera button should send "Ctrl+A then Space". --> + <string name="list_camera_ctrlaspace">"Ctrl+A онда размакница"</string> + <!-- Selection to indicate pressing the Camera button should send "Ctrl+A". --> + <string name="list_camera_ctrla">"Ctrl+A"</string> + <!-- Selection to indicate pressing the Camera button should send the "Esc" key. --> + <string name="list_camera_esc">"Esc"</string> + <!-- Selection to indicate pressing the Camera button should send "Esc+A". --> + <string name="list_camera_esc_a">"Esc+A"</string> + <!-- Selection to indicate pressing the Camera button should send nothing at all. --> + <string name="list_camera_none">"Ништа"</string> + + <!-- Name for the backspace character --> + <string name="list_delkey_backspace">"Backspace"</string> + <!-- Name for the ASCII DEL character --> + <string name="list_delkey_del">"Обриши"</string> + + <string name="delete_message">"Желите ли заиста да обришете „%1$s“?"</string> + <string name="delete_pos">"Да, обриши"</string> + <string name="delete_neg">"Одустани"</string> + + <!-- Button to agree to license terms. --> + <string name="wizard_agree">"Прихваћам"</string> + <!-- Button to go to the next page in the first time start-up wizard. --> + <string name="wizard_next">"Следеће"</string> + <!-- Button to go to the previous page in the first time start-up wizard. --> + <string name="wizard_back">"Назад"</string> + + <string name="terminal_no_hosts_connected">"Нема повезаних домаћина тренутно"</string> + + <!-- Displayed in terminal when attempting to connect to a host. The first two + variables are host:port and the third is the protocol (e.g., SSH) --> + <string name="terminal_connecting">"Повезујем се са %1$s:%2$d преко %3$s"</string> + + <!-- Displays the host key to the user in the terminal --> + <string name="terminal_sucess">"Verified host '%1$s' key: %2$s"</string> + <string name="terminal_failed">"Host key verification failed."</string> + + <!-- Displayed on the terminal describing the cryptographic algorithm names --> + <string name="terminal_using_s2c_algorithm">"Сервер-клијент алгоритам: %1$s %2$s"</string> + <!-- Displayed on the terminal describing the cryptographic algorithm names --> + <string name="terminal_using_c2s_algorithm">"Клијент-сервер алгоритам: %1$s %2$s"</string> + <!-- Displayed on the terminal describing the cryptographic algorithm names --> + <string name="terminal_using_algorithm">"Користим алгоритам: %1$s %2$s"</string> + + <string name="terminal_auth">"Покушавам аутентификацију"</string> + + <string name="terminal_auth_pass">"Покушавам аутентификацију лозинком"</string> + <string name="terminal_auth_pass_fail">"Метода аутентификације лозинком није успела"</string> + + <string name="terminal_auth_pubkey_any">"Покушавам аутентификацију кључем помоћу било којег јавног кључа у меморији"</string> + <string name="terminal_auth_pubkey_invalid">"Изабрани јавни кључ није исправан, покушајте поново изабрати кључ у уређивачу домаћина"</string> + <string name="terminal_auth_pubkey_specific">"Покушавам аутентификацију кључем помоћу наведеног јавног кључа"</string> + <string name="terminal_auth_pubkey_fail">"Метода аутентификације кључем помоћу кључа „%1$s“ није успела"</string> + + <string name="terminal_auth_ki">"Покушавам аутентификацију интерактивном тастатуром"</string> + <string name="terminal_auth_ki_fail">"Метода аутентификације интерактивном тастатуром није успела"</string> + + <string name="terminal_auth_fail">"[Ваш домаћин не подржава аутентификацију лозинком или интерактивном тастатуром.]"</string> + + <string name="terminal_no_session">"Сесија неће бити покренута због поставке домаћина."</string> + <string name="terminal_enable_portfoward">"Омогући прослеђење порта: %1$s"</string> + + <string name="local_shell_unavailable">"Неуспех! Нема локалне шкољке на овом телефону."</string> + + <!-- Text sent to the user to alert them that a Terminal Bell is received in a background session --> + <string name="notification_text">"%1$s жели вашу пажњу."</string> + + <!-- Preference selection for SSH Authentication Agent to never use pubkeys --> + <string name="no">"Не"</string> + <!-- Preference selection for SSH Authentication Agent to be able to use pubkeys "with confirmation" only --> + <string name="with_confirmation">"Тражи потврду"</string> + <!-- Preference selection for SSH Authentication Agent to be able to use pubkeys --> + <string name="yes">"Да"</string> + + <!-- String displayed to user when they're asked to submit exceptions to the ConnectBot developers --> + <string name="exceptions_submit_message">"Чини се да је Конектбот имао проблем последњи пут кад је покренут. Да пошаљем извештај о грешци програмерима?"</string> + + <!-- Menu selection to reset colors to their defaults. --> + <string name="menu_colors_reset">"Ресетуј"</string> + + <!-- Displayed in the notification bar that connections are active --> + <string name="app_is_running">"Конектбот је покренут"</string> + + <string name="color_red">"црвена"</string> + <string name="color_green">"зелена"</string> + <string name="color_blue">"плава"</string> + <string name="color_gray">"сива"</string> + + <!-- Very short label indicating the number next to it is "foreground color" number. --> + <string name="colors_fg_label">"FG: %1$d"</string> + + <!-- Very short label indicating the number next to it is "background color" number. --> + <string name="color_bg_label">"BG: %1$d"</string> + + <!-- Describes the image of the "connected to host" icon for accessibility purposes. --> + <string name="image_description_connected">"Повезан."</string> + + <!-- Describes the icon of the "locked pubkey" icon for accessibility purposes. --> + <string name="image_description_key_is_locked">"Кључ је закључан."</string> + + <!-- Describes the icon of the "send control character" button in the terminal view for + accessibility purposes. --> + <string name="image_description_toggle_control_character">Мењај контролни знак.</string> + + <!-- Describes the icon of the "send escape character" button in the terminal view for + accessibility purposes. --> + <string name="image_description_send_escape_character">Пошаљи Esc знак.</string> + + <!-- Describes the icon of the "show keyboard" button in the terminal view for accessibility + purposes. --> + <string name="image_description_show_keyboard">Прикажи тастатуру.</string> +</resources> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index ad50555..73e73da 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -79,8 +79,6 @@ <string name="pref_fullscreen_summary">Göm status medan konsol visas</string> <string name="pref_memkeys_title">Kom ihåg nycklar</string> <string name="pref_memkeys_summary">Behåll olåsta nycklar i minnet tills bakände-tjänst avslutas</string> - <string name="pref_update_title">Uppdateringskontroll</string> - <string name="pref_update_summary">Intervall för att söka efter ConnectBot-uppdateringar</string> <string name="pref_conn_persist_title">Kvarstående anslutningar</string> <string name="pref_conn_persist_summary">Tvinga anslutningar att fortsätta i bakgrunden</string> <string name="pref_keymode_title">Genvägar för katalog</string> @@ -104,9 +102,6 @@ <string name="list_keymode_none">Avaktivera</string> <string name="list_pubkeyids_none">Använd inte knapparna</string> <string name="list_pubkeyids_any">Använd valfri olåst nyckel</string> - <string name="list_update_daily">Varje dag</string> - <string name="list_update_weekly">Varje vecka</string> - <string name="list_update_never">Aldrig</string> <string name="hostpref_nickname_title">Smeknamn</string> <string name="hostpref_color_title">Färgkategori</string> <string name="hostpref_fontsize_title">Teckenstorlek</string> @@ -130,7 +125,7 @@ <string name="hostpref_port_title">Port</string> <string name="bind_never">Aldrig ansluten</string> <string name="bind_minutes">%1$s minuter sedan</string> - <string name="bind_hours">%1$s timmar sendan</string> + <string name="bind_hours">%1$s timmar sedan</string> <string name="bind_days">%1$s dagar sedan</string> <string name="console_copy_done">Kopierade %1$d bytes till urklippshanteraren.</string> <string name="console_copy_start">Tryck och drag\neller använd bollen\nför att markera en yta för kopiering</string> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index d7582c3..6e1527b 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">Host\'u Düzenle</string> <string name="title_help">Yardım</string> <string name="title_colors">Renkler</string> + <string name="title_color_picker">Bir renk seç</string> <string name="resolve_connect">Bağlan</string> <string name="resolve_entropy">Rastgele girdi topla</string> <string name="menu_insert">Host ekle</string> @@ -77,10 +78,9 @@ <string name="pref_rotation_summary">Klavye saklandığında/açıldığında dönüş nasıl değişir</string> <string name="pref_fullscreen_title">Tüm ekran</string> <string name="pref_fullscreen_summary">Konsolda iken durum çubuğunu gizle</string> + <string name="pref_keyboard_category">Klavye</string> <string name="pref_memkeys_title">Anahtarları bellekte tut</string> <string name="pref_memkeys_summary">Kilidi açılmış anahtarları arkadaki hizmetler sonlanana kadar bellekte tut</string> - <string name="pref_update_title">Güncellemelere bak</string> - <string name="pref_update_summary">ConnectBot güncellemelerine bakmak için en fazla sıklığı ayarla</string> <string name="pref_conn_persist_title">Bağlantıları sürekli tut</string> <string name="pref_conn_persist_summary">Arkaplanda iken bağlantıları bağlı tutmaya zorla</string> <string name="pref_keymode_title">Dizin kısayolları</string> @@ -104,9 +104,6 @@ <string name="list_keymode_none">Devre Dışı Bırak</string> <string name="list_pubkeyids_none">Tuşları kullanma</string> <string name="list_pubkeyids_any">Herhangi bir tuşu kullan</string> - <string name="list_update_daily">Günlük</string> - <string name="list_update_weekly">Haftalık</string> - <string name="list_update_never">Asla</string> <string name="hostpref_nickname_title">Rumuz</string> <string name="hostpref_color_title">Renk kategorisi</string> <string name="hostpref_fontsize_title">Yazıtipi boyutu (pt)</string> @@ -211,8 +208,8 @@ <string name="color_green">yeşil</string> <string name="color_blue">mavi</string> <string name="color_gray">gri</string> - <string name="colors_fg">ÖR:</string> - <string name="color_bg">AR:</string> + <string name="colors_fg_label">ÖR: %1$d</string> + <string name="color_bg_label">AR: %1$d</string> <string name="image_description_connected">Bağlandı.</string> <string name="image_description_show_keyboard">Klavye göster.</string> </resources> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 3b1b548..61fc9f5 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">编辑主机</string> <string name="title_help">帮助</string> <string name="title_colors">颜色</string> + <string name="title_color_picker">选择一种颜色</string> <string name="resolve_connect">连接</string> <string name="resolve_entropy">收集杂乱数</string> <string name="menu_insert">添加主机</string> @@ -77,10 +78,15 @@ <string name="pref_rotation_summary">当键盘打开或关闭时屏幕如何旋转(水平或竖直)</string> <string name="pref_fullscreen_title">全屏</string> <string name="pref_fullscreen_summary">处于控制台时隐藏状态栏</string> + <string name="pref_keyboard_category">键盘</string> + <string name="pref_shiftfkeys_title">Shift+num(数字键) 作为 功能键</string> + <string name="pref_shiftfkeys_summary">在硬件键盘上,数字键和 shift 键组合发送 F1-F10</string> + <string name="pref_ctrlfkeys_title">Ctrl+num(数字键) 作为 功能键</string> + <string name="pref_ctrlfkeys_summary">在软件键盘上,数字键和 ctrl 键组合发送 F1-F10</string> + <string name="pref_volumefont_title">音量键用来改变字体大小</string> + <string name="pref_volumefont_summary">字体大小也可以在每个主机的设置中改变</string> <string name="pref_memkeys_title">在内存中记录密钥</string> <string name="pref_memkeys_summary">保留解锁的密匙于内存中直到后台服务停止</string> - <string name="pref_update_title">检查更新</string> - <string name="pref_update_summary">设置检查ConnectBot更新的最大频率</string> <string name="pref_conn_persist_title">保持联机</string> <string name="pref_conn_persist_summary">切换到后台时强制保持连接</string> <string name="pref_keymode_title">目录快捷方式</string> @@ -104,9 +110,6 @@ <string name="list_keymode_none">禁用</string> <string name="list_pubkeyids_none">不使用密匙</string> <string name="list_pubkeyids_any">使用解锁密匙</string> - <string name="list_update_daily">每天</string> - <string name="list_update_weekly">每周</string> - <string name="list_update_never">永不</string> <string name="hostpref_nickname_title">昵称</string> <string name="hostpref_color_title">颜色类型</string> <string name="hostpref_fontsize_title">字型大小 (pt)</string> @@ -211,8 +214,8 @@ <string name="color_green">绿色</string> <string name="color_blue">蓝色</string> <string name="color_gray">灰色</string> - <string name="colors_fg">前景色:</string> - <string name="color_bg">背景色:</string> + <string name="colors_fg_label">前景色:%1$d</string> + <string name="color_bg_label">背景色:%1$d</string> <string name="image_description_connected">已连接。</string> <string name="image_description_key_is_locked">密钥已锁。</string> <string name="image_description_toggle_control_character">切换控制字符。</string> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 88ccaf2..bbfd6f0 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -8,6 +8,7 @@ <string name="title_host_editor">編輯主機資訊</string> <string name="title_help">說明</string> <string name="title_colors">顏色</string> + <string name="title_color_picker">挑選顏色</string> <string name="resolve_connect">連線</string> <string name="resolve_entropy">收集用戶熵</string> <string name="menu_insert">新增主機</string> @@ -66,7 +67,7 @@ <string name="button_generate">產生金鑰</string> <string name="button_resize">調整大小</string> <string name="alert_disconnect_msg">連線中斷</string> - <string name="msg_copyright">版權所有 2007-2008 Kenny Root http://the-b.org/ , Jeffrey Sharkey http://jsharkey.org/</string> + <string name="msg_copyright">版權所有 © 2007-2008 Kenny Root http://the-b.org/ , Jeffrey Sharkey http://jsharkey.org/</string> <string name="pref_emulation_category">終端模擬器</string> <string name="pref_emulation_title">終端機類型</string> <string name="pref_emulation_summary">設置使用 PTY 連接時的終端模式</string> @@ -75,22 +76,24 @@ <string name="pref_ui_category">使用者介面</string> <string name="pref_rotation_title">螢幕旋轉模式</string> <string name="pref_rotation_summary">當鍵盤視窗出現或隱藏時要如何改變螢幕轉向</string> + <string name="pref_titlebarhide_title">自動隱藏標題列</string> + <string name="pref_titlebarhide_summary">輕觸終端機來顯示標題列並存取選單</string> <string name="pref_fullscreen_title">全螢幕</string> <string name="pref_fullscreen_summary">當在控制台時隱藏狀態列</string> + <string name="pref_keyboard_category">鍵盤</string> <string name="pref_shiftfkeys_title">Shift+num 為功能鍵</string> <string name="pref_shiftfkeys_summary">在硬體鍵盤上,shift 加數字鍵時傳送 F1-F10</string> <string name="pref_ctrlfkeys_title">Ctrl+num 為功能鍵</string> <string name="pref_ctrlfkeys_summary">在軟體鍵盤上,ctrl 加數字時傳送 F1-F10</string> <string name="pref_volumefont_title">音量鍵更改字體大小</string> - <string name="pref_volumefont_summary">字體大小可以在每個主機設定內變更</string> + <string name="pref_volumefont_summary">字體大小可以在各主機設定內更改</string> <string name="pref_memkeys_title">將金鑰儲存在記憶體</string> <string name="pref_memkeys_summary">保持記憶體中的金鑰是解鎖狀態,直到背景服務結束</string> - <string name="pref_update_title">檢查更新</string> - <string name="pref_update_summary">將 ConnectBot 的檢查更新頻率設為最大</string> <string name="pref_conn_persist_title">保持連線</string> <string name="pref_conn_persist_summary">在背景執行時仍保持連線狀態</string> <string name="pref_keymode_title">快捷鍵</string> <string name="pref_keymode_summary">選擇如何使用 Alt 來叫出 \'/\' 和用 Shift 呼叫 Tab</string> + <string name="only_alt">只有Alt</string> <string name="pref_camera_title">照相快捷鍵</string> <string name="pref_camera_summary">選擇當照相按鈕按下時將要觸發的快捷鍵</string> <string name="pref_keepalive_title">保持螢幕喚醒</string> @@ -110,9 +113,6 @@ <string name="list_keymode_none">停用</string> <string name="list_pubkeyids_none">不使用公鑰</string> <string name="list_pubkeyids_any">使用任何解鎖金鑰</string> - <string name="list_update_daily">每日</string> - <string name="list_update_weekly">每週</string> - <string name="list_update_never">永不</string> <string name="hostpref_nickname_title">暱稱</string> <string name="hostpref_color_title">顏色類型</string> <string name="hostpref_fontsize_title">字體大小 (pt)</string> @@ -127,7 +127,7 @@ <string name="hostpref_stayconnected_title">保持連線</string> <string name="hostpref_stayconnected_summary">斷線後與主機重新連線</string> <string name="hostpref_delkey_title">DEL 鍵</string> - <string name="hostpref_delkey_summary">當按下 DEL 時傳送按鍵碼</string> + <string name="hostpref_delkey_summary">當按下 DEL 鍵時,傳送金鑰代碼</string> <string name="hostpref_encoding_title">編碼</string> <string name="hostpref_encoding_summary">主機的字元編碼</string> <string name="hostpref_connection_category">連線設定</string> @@ -194,16 +194,16 @@ <string name="terminal_using_c2s_algorithm">用戶端到伺服器算法:%1$s %2$s</string> <string name="terminal_using_algorithm">使用演算法:%1$s %2$s</string> <string name="terminal_auth">嘗試驗證</string> - <string name="terminal_auth_pass">嘗試 \'密碼\' 認證</string> + <string name="terminal_auth_pass">正在嘗試 \'密碼\' 認證</string> <string name="terminal_auth_pass_fail">認證方法 \'密碼\' 失敗</string> - <string name="terminal_auth_pubkey_any">嘗試 \'公鑰\' 認證暨記憶體中任何公鑰</string> + <string name="terminal_auth_pubkey_any">正在嘗試 \'公鑰\' 認證暨記憶體中任何公鑰</string> <string name="terminal_auth_pubkey_invalid">所選擇的公鑰無法使用,請在主機編輯中嘗試重新選擇</string> - <string name="terminal_auth_pubkey_specific">嘗試 \'公鑰\' 認證暨指定公鑰</string> - <string name="terminal_auth_pubkey_fail">認證方法 \'密碼\' 暨金鑰 \'%1$s\' 失敗</string> + <string name="terminal_auth_pubkey_specific">正在嘗試 \'公鑰\' 認證暨指定公鑰</string> + <string name="terminal_auth_pubkey_fail">認證方法 \'公鑰\' 暨金鑰 \'%1$s\' 失敗</string> <string name="terminal_auth_ki">正在嘗試 \'keyboard-interactive\' 認證</string> <string name="terminal_auth_ki_fail">認證方法 \'keyboard-interactive\' 失敗</string> <string name="terminal_auth_fail">[您的主機不支援 \'密碼\' 或 \'keyboard-interactive\' 驗證機制。]</string> - <string name="terminal_no_session">由於主機的相關設置,因此不會啓動連線階段。</string> + <string name="terminal_no_session">因為主機的相關設置,不會啓動會話階段。</string> <string name="terminal_enable_portfoward">啓用連接埠轉址:%1$s</string> <string name="local_shell_unavailable">失敗!此手機 Shell 不可用。</string> <string name="notification_text">%1$s 需要您的注意。</string> @@ -217,8 +217,8 @@ <string name="color_green">綠</string> <string name="color_blue">藍</string> <string name="color_gray">灰</string> - <string name="colors_fg">前景:</string> - <string name="color_bg">背景:</string> + <string name="colors_fg_label">前景:%1$d</string> + <string name="color_bg_label">背景:%1$d</string> <string name="image_description_connected">已連線。</string> <string name="image_description_key_is_locked">金鑰已鎖定。</string> <string name="image_description_toggle_control_character">切換控制字元</string> diff --git a/res/values/arrays.xml b/res/values/arrays.xml index c9090ea..4721490 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -71,16 +71,16 @@ <item>gray</item> </string-array> - <string-array name="list_update" translatable="false"> - <item>@string/list_update_daily</item> - <item>@string/list_update_weekly</item> - <item>@string/list_update_never</item> + <string-array name="list_stickymodifiers" translatable="false"> + <item>@string/no</item> + <item>@string/only_alt</item> + <item>@string/yes</item> </string-array> - <string-array name="list_update_values" translatable="false"> - <item>Daily</item> - <item>Weekly</item> - <item>Never</item> + <string-array name="list_stickymodifiers_values" translatable="false"> + <item>no</item> + <item>alt</item> + <item>yes</item> </string-array> <string-array name="list_keymode" translatable="false"> diff --git a/res/values/strings.xml b/res/values/strings.xml index e4f2aa5..49c3af4 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -19,7 +19,10 @@ --> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <!-- Summary of what ConnectBot is; used as a short description in the Android running apps list --> <string name="app_desc">"Simple, powerful, open-source SSH client."</string> + + <!-- Summary of what the ConnectBot service does; displayed in the Android running apps list --> <string name="service_desc">"Maintains SSH connections and loaded pubkeys"</string> <!-- Window title for the Host List --> @@ -34,6 +37,8 @@ <string name="title_help">"Help"</string> <!-- Window title for color list editing screen --> <string name="title_colors">"Colors"</string> + <!-- Dialog title for color picker dialog --> + <string name="title_color_picker">"Pick a color"</string> <string name="resolve_connect">"Connect"</string> <!-- Menu selection where user must move finger randomly over an area to gather entropy (collect random bits) --> @@ -163,6 +168,9 @@ <!-- Summary for the full screen preference --> <string name="pref_fullscreen_summary">"Hide status bar while in console"</string> + <!-- The category title for keyboard preferences --> + <string name="pref_keyboard_category">"Keyboard"</string> + <!-- Name for the shifted numbers are f-keys preference --> <string name="pref_shiftfkeys_title">"Shift+num are F-keys"</string> <!-- Summary for the shifted numbers are f-keys preference --> @@ -183,11 +191,6 @@ <!-- Summary for the memorize keys preference --> <string name="pref_memkeys_summary">"Keep unlocked keys in memory until backend service is terminated"</string> - <!-- Name for the update check preference --> - <string name="pref_update_title">"Update check"</string> - <!-- Summary for the update check preference --> - <string name="pref_update_summary">"Set the maximum frequency to check for ConnectBot updates"</string> - <!-- Name for the preference that forces the service to stay running in the background.--> <string name="pref_conn_persist_title">"Persist connections"</string> <!-- Summary for the preference that forces the service to stay running in the background. --> @@ -198,6 +201,14 @@ <!-- Summary for the keyboard shortcuts preference --> <string name="pref_keymode_summary">"Select how to use Alt for '/' and Shift for Tab"</string> + <!-- Name for the sticky modifiers preference --> + <string name="pref_stickymodifiers_title">"Sticky modifiers"</string> + <!-- Summary for the sticky modifiers preference --> + <string name="pref_stickymodifiers_summary">"Modifier keys remain enabled until another key is pressed"</string> + + <!-- Sticky modifier preference value description for when only the Alt key should be a sticky modifier. --> + <string name="only_alt">"Only alt"</string> + <!-- Name for the camera shortcut usage preference --> <string name="pref_camera_title">"Camera shortcut"</string> <!-- Summary for the camera shortcut usage preference --> @@ -247,13 +258,6 @@ <!-- Preference to use any pubkey to authenticate to this host. --> <string name="list_pubkeyids_any">"Use any unlocked key"</string> - <!-- Frequency for which to check for program updates. --> - <string name="list_update_daily">"Daily"</string> - <!-- Frequency for which to check for program updates. --> - <string name="list_update_weekly">"Weekly"</string> - <!-- Frequency for which to check for program updates. --> - <string name="list_update_never">"Never"</string> - <!-- Host nickname field preference title --> <string name="hostpref_nickname_title">"Nickname"</string> @@ -289,6 +293,10 @@ <!-- Summary for preference asking whether the host should be reconnected to when it disconnects --> <string name="hostpref_stayconnected_summary">"Try to reconnect to host if disconnected"</string> + <!-- Setting for whether we should prompt to close after getting disconnected --> + <string name="hostpref_quickdisconnect_title">"Close on disconnect"</string> + <string name="hostpref_quickdisconnect_summary">"Close immediately after remote disconnect without prompting."</string> + <!-- Setting for what key code is sent to the server when DEL key is pressed. --> <string name="hostpref_delkey_title">"DEL Key"</string> <!-- Summary for field asking what key code is sent to the server when DEL key is pressed. --> @@ -479,11 +487,11 @@ <string name="color_blue">"blue"</string> <string name="color_gray">"gray"</string> - <!-- Very short label indicating the thing next to it is "foreground color." --> - <string name="colors_fg">"FG":</string> + <!-- Very short label indicating the number next to it is "foreground color" number. --> + <string name="colors_fg_label">"FG: %1$d"</string> - <!-- Very short label indicating the thing next to it is "background color." --> - <string name="color_bg">"BG:"</string> + <!-- Very short label indicating the number next to it is "background color" number. --> + <string name="color_bg_label">"BG: %1$d"</string> <!-- Describes the image of the "connected to host" icon for accessibility purposes. --> <string name="image_description_connected">"Connected."</string> diff --git a/res/xml/host_prefs.xml b/res/xml/host_prefs.xml index fea90cb..a2fc1a4 100644 --- a/res/xml/host_prefs.xml +++ b/res/xml/host_prefs.xml @@ -85,6 +85,12 @@ android:summary="@string/hostpref_stayconnected_summary" /> + <CheckBoxPreference + android:key="quickdisconnect" + android:title="@string/hostpref_quickdisconnect_title" + android:summary="@string/hostpref_quickdisconnect_summary" + /> + <ListPreference android:key="delkey" android:title="@string/hostpref_delkey_title" diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index 6d64ce2..70bdb5b 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -27,15 +27,6 @@ android:defaultValue="true" /> - <ListPreference - android:key="update" - android:title="@string/pref_update_title" - android:summary="@string/pref_update_summary" - android:entries="@array/list_update" - android:entryValues="@array/list_update_values" - android:defaultValue="Daily" - /> - <CheckBoxPreference android:key="connPersist" android:title="@string/pref_conn_persist_title" @@ -43,6 +34,13 @@ android:defaultValue="true" /> + <CheckBoxPreference + android:key="wifilock" + android:title="@string/pref_wifilock_title" + android:summary="@string/pref_wifilock_summary" + android:defaultValue="true" + /> + <PreferenceCategory android:title="@string/pref_emulation_category"> @@ -92,6 +90,24 @@ /> <CheckBoxPreference + android:key="volumefont" + android:title="@string/pref_volumefont_title" + android:summary="@string/pref_volumefont_summary" + android:defaultValue="true" + /> + + <CheckBoxPreference + android:key="keepalive" + android:title="@string/pref_keepalive_title" + android:summary="@string/pref_keepalive_summary" + android:defaultValue="true" + /> + </PreferenceCategory> + + <PreferenceCategory + android:title="@string/pref_keyboard_category"> + + <CheckBoxPreference android:key="shiftfkeys" android:title="@string/pref_shiftfkeys_title" android:summary="@string/pref_shiftfkeys_summary" @@ -105,11 +121,13 @@ android:defaultValue="false" /> - <CheckBoxPreference - android:key="volumefont" - android:title="@string/pref_volumefont_title" - android:summary="@string/pref_volumefont_summary" - android:defaultValue="true" + <ListPreference + android:key="stickymodifiers" + android:title="@string/pref_stickymodifiers_title" + android:summary="@string/pref_stickymodifiers_summary" + android:entries="@array/list_stickymodifiers" + android:entryValues="@array/list_stickymodifiers_values" + android:defaultValue="no" /> <ListPreference @@ -118,7 +136,7 @@ android:summary="@string/pref_keymode_summary" android:entries="@array/list_keymode" android:entryValues="@array/list_keymode_values" - android:defaultValue="Use right-side keys" + android:defaultValue="none" /> <ListPreference @@ -131,20 +149,6 @@ /> <CheckBoxPreference - android:key="keepalive" - android:title="@string/pref_keepalive_title" - android:summary="@string/pref_keepalive_summary" - android:defaultValue="true" - /> - - <CheckBoxPreference - android:key="wifilock" - android:title="@string/pref_wifilock_title" - android:summary="@string/pref_wifilock_summary" - android:defaultValue="true" - /> - - <CheckBoxPreference android:key="bumpyarrows" android:title="@string/pref_bumpyarrows_title" android:summary="@string/pref_bumpyarrows_summary" diff --git a/src/org/connectbot/ColorsActivity.java b/src/org/connectbot/ColorsActivity.java index 38336f7..be5dfb1 100644 --- a/src/org/connectbot/ColorsActivity.java +++ b/src/org/connectbot/ColorsActivity.java @@ -17,6 +17,7 @@ package org.connectbot; +import java.text.NumberFormat; import java.util.Arrays; import java.util.List; @@ -30,6 +31,7 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Bundle; +import android.util.DisplayMetrics; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -54,11 +56,12 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC private int mColorScheme; private List<Integer> mColorList; - private HostDatabase hostdb; + private HostDatabase mHostDb; private int mCurrentColor = 0; private int[] mDefaultColors; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -71,10 +74,10 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC mColorScheme = HostDatabase.DEFAULT_COLOR_SCHEME; - hostdb = new HostDatabase(this); + mHostDb = new HostDatabase(this); - mColorList = Arrays.asList(hostdb.getColorsForScheme(mColorScheme)); - mDefaultColors = hostdb.getDefaultColorsForScheme(mColorScheme); + mColorList = Arrays.asList(mHostDb.getColorsForScheme(mColorScheme)); + mDefaultColors = mHostDb.getDefaultColorsForScheme(mColorScheme); mColorGrid = (GridView) findViewById(R.id.color_grid); mColorGrid.setAdapter(new ColorsAdapter(true)); @@ -82,12 +85,12 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC mColorGrid.setSelection(0); mFgSpinner = (Spinner) findViewById(R.id.fg); - mFgSpinner.setAdapter(new ColorsAdapter(false)); + mFgSpinner.setAdapter(new ColorsAdapter(false, R.string.colors_fg_label)); mFgSpinner.setSelection(mDefaultColors[0]); mFgSpinner.setOnItemSelectedListener(this); mBgSpinner = (Spinner) findViewById(R.id.bg); - mBgSpinner.setAdapter(new ColorsAdapter(false)); + mBgSpinner.setAdapter(new ColorsAdapter(false, R.string.color_bg_label)); mBgSpinner.setSelection(mDefaultColors[1]); mBgSpinner.setOnItemSelectedListener(this); } @@ -96,9 +99,9 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC protected void onDestroy() { super.onDestroy(); - if (hostdb != null) { - hostdb.close(); - hostdb = null; + if (mHostDb != null) { + mHostDb.close(); + mHostDb = null; } } @@ -106,22 +109,28 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC protected void onResume() { super.onResume(); - if (hostdb == null) - hostdb = new HostDatabase(this); + if (mHostDb == null) + mHostDb = new HostDatabase(this); } private class ColorsAdapter extends BaseAdapter { - private boolean mSquareViews; + private final boolean mSquareViews; + private final int mResourceLabel; public ColorsAdapter(boolean squareViews) { + this(squareViews, -1); + } + + public ColorsAdapter(boolean squareViews, int resourceLabel) { mSquareViews = squareViews; + mResourceLabel = resourceLabel; } public View getView(int position, View convertView, ViewGroup parent) { ColorView c; if (convertView == null) { - c = new ColorView(ColorsActivity.this, mSquareViews); + c = new ColorView(ColorsActivity.this, mResourceLabel, mSquareViews); } else { c = (ColorView) convertView; } @@ -146,7 +155,16 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC } private class ColorView extends View { - private boolean mSquare; + /** The font size displayed in the GridView entries. */ + private static final float FONT_SIZE_DP = 20f; + + /** Margin around the GridView entries. */ + private static final float MARGIN_DP = 10f; + + private final boolean mSquare; + + private final int mResourceLabel; + private final NumberFormat mNumberFormatter; private Paint mTextPaint; private Paint mShadowPaint; @@ -159,14 +177,19 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC private int mWidthCenter; private int mHeightCenter; - public ColorView(Context context, boolean square) { + public ColorView(Context context, int resourceLabel, boolean square) { super(context); mSquare = square; + mResourceLabel = resourceLabel; + + mNumberFormatter = NumberFormat.getIntegerInstance(getContext().getResources().getConfiguration().locale); + + DisplayMetrics metrics = context.getResources().getDisplayMetrics(); mTextPaint = new Paint(); mTextPaint.setAntiAlias(true); - mTextPaint.setTextSize(16); + mTextPaint.setTextSize((int) (metrics.density * FONT_SIZE_DP + 0.5f)); mTextPaint.setColor(0xFFFFFFFF); mTextPaint.setTextAlign(Paint.Align.CENTER); @@ -177,7 +200,8 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC mShadowPaint.setStrokeWidth(4f); mShadowPaint.setColor(0xFF000000); - setPadding(10, 10, 10, 10); + int marginPx = (int) (MARGIN_DP * metrics.density + 0.5f); + setPadding(marginPx, marginPx, marginPx, marginPx); } public void setColor(int color) { @@ -185,7 +209,11 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC } public void setNumber(int number) { - mText = Integer.toString(number); + if (mResourceLabel != -1) { + mText = getContext().getResources().getString(mResourceLabel, number); + } else { + mText = mNumberFormatter.format(number); + } } @Override @@ -193,10 +221,12 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC int width = measureWidth(widthMeasureSpec); int height; - if (mSquare) + if (mSquare) { + //noinspection SuspiciousNameCombination height = width; - else + } else { height = measureHeight(heightMeasureSpec); + } mAscent = (int) mTextPaint.ascent(); mWidthCenter = width / 2; @@ -206,7 +236,8 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC } private int measureWidth(int measureSpec) { - int result = 0; + int result; + int specMode = MeasureSpec.getMode(measureSpec); int specSize = MeasureSpec.getSize(measureSpec); @@ -228,7 +259,8 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC } private int measureHeight(int measureSpec) { - int result = 0; + int result; + int specMode = MeasureSpec.getMode(measureSpec); int specSize = MeasureSpec.getSize(measureSpec); @@ -249,7 +281,6 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC return result; } - @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); @@ -273,7 +304,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC public void onNothingSelected(AdapterView<?> arg0) { } public void colorChanged(int value) { - hostdb.setGlobalColor(mCurrentColor, value); + mHostDb.setGlobalColor(mCurrentColor, value); mColorList.set(mCurrentColor, value); mColorGrid.invalidateViews(); } @@ -294,7 +325,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC } if (needUpdate) - hostdb.setDefaultColorsForScheme(mColorScheme, mDefaultColors[0], mDefaultColors[1]); + mHostDb.setDefaultColorsForScheme(mColorScheme, mDefaultColors[0], mDefaultColors[1]); } @Override @@ -309,8 +340,8 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC public boolean onMenuItemClick(MenuItem arg0) { // Reset each individual color to defaults. for (int i = 0; i < Colors.defaults.length; i++) { - if (mColorList.get(i) != Colors.defaults[i]) { - hostdb.setGlobalColor(i, Colors.defaults[i]); + if (!mColorList.get(i).equals(Colors.defaults[i])) { + mHostDb.setGlobalColor(i, Colors.defaults[i]); mColorList.set(i, Colors.defaults[i]); } } @@ -319,7 +350,7 @@ public class ColorsActivity extends Activity implements OnItemClickListener, OnC // Reset the default FG/BG colors as well. mFgSpinner.setSelection(HostDatabase.DEFAULT_FG_COLOR); mBgSpinner.setSelection(HostDatabase.DEFAULT_BG_COLOR); - hostdb.setDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME, + mHostDb.setDefaultColorsForScheme(HostDatabase.DEFAULT_COLOR_SCHEME, HostDatabase.DEFAULT_FG_COLOR, HostDatabase.DEFAULT_BG_COLOR); return true; diff --git a/src/org/connectbot/ConsoleActivity.java b/src/org/connectbot/ConsoleActivity.java index 7aca08c..aeb0e67 100644 --- a/src/org/connectbot/ConsoleActivity.java +++ b/src/org/connectbot/ConsoleActivity.java @@ -422,7 +422,7 @@ public class ConsoleActivity extends Activity { TerminalView terminal = (TerminalView)flip; TerminalKeyListener handler = terminal.bridge.getKeyHandler(); - handler.metaPress(TerminalKeyListener.OUR_CTRL_ON); + handler.metaPress(TerminalKeyListener.OUR_CTRL_ON, true); hideEmulatedKeys(); } }); diff --git a/src/org/connectbot/HostListActivity.java b/src/org/connectbot/HostListActivity.java index dc39d49..7dce760 100644 --- a/src/org/connectbot/HostListActivity.java +++ b/src/org/connectbot/HostListActivity.java @@ -165,11 +165,23 @@ public class HostListActivity extends ListActivity { // detect HTC Dream and apply special preferences if (Build.MANUFACTURER.equals("HTC") && Build.DEVICE.equals("dream")) { + SharedPreferences.Editor editor = prefs.edit(); + boolean doCommit = false; if (!prefs.contains(PreferenceConstants.SHIFT_FKEYS) && !prefs.contains(PreferenceConstants.CTRL_FKEYS)) { - SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean(PreferenceConstants.SHIFT_FKEYS, true); editor.putBoolean(PreferenceConstants.CTRL_FKEYS, true); + doCommit = true; + } + if (!prefs.contains(PreferenceConstants.STICKY_MODIFIERS)) { + editor.putString(PreferenceConstants.STICKY_MODIFIERS, PreferenceConstants.YES); + doCommit = true; + } + if (!prefs.contains(PreferenceConstants.KEYMODE)) { + editor.putString(PreferenceConstants.KEYMODE, PreferenceConstants.KEYMODE_RIGHT); + doCommit = true; + } + if (doCommit) { editor.commit(); } } diff --git a/src/org/connectbot/PubkeyListActivity.java b/src/org/connectbot/PubkeyListActivity.java index be7a46f..b9654a4 100644 --- a/src/org/connectbot/PubkeyListActivity.java +++ b/src/org/connectbot/PubkeyListActivity.java @@ -155,7 +155,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener { getListView().setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> adapter, View view, int position, long id) { PubkeyBean pubkey = (PubkeyBean) getListView().getItemAtPosition(position); - boolean loaded = bound.isKeyLoaded(pubkey.getNickname()); + boolean loaded = bound != null && bound.isKeyLoaded(pubkey.getNickname()); // handle toggling key in-memory on/off if(loaded) { @@ -307,7 +307,7 @@ public class PubkeyListActivity extends ListActivity implements EventListener { // cant change password or clipboard imported keys final boolean imported = PubkeyDatabase.KEY_TYPE_IMPORTED.equals(pubkey.getType()); - final boolean loaded = bound.isKeyLoaded(pubkey.getNickname()); + final boolean loaded = bound != null && bound.isKeyLoaded(pubkey.getNickname()); MenuItem load = menu.add(loaded ? R.string.pubkey_memory_unload : R.string.pubkey_memory_load); load.setOnMenuItemClickListener(new OnMenuItemClickListener() { diff --git a/src/org/connectbot/bean/HostBean.java b/src/org/connectbot/bean/HostBean.java index 2fd7bfb..183d047 100644 --- a/src/org/connectbot/bean/HostBean.java +++ b/src/org/connectbot/bean/HostBean.java @@ -50,6 +50,7 @@ public class HostBean extends AbstractBean { private boolean compression = false; private String encoding = HostDatabase.ENCODING_DEFAULT; private boolean stayConnected = false; + private boolean quickDisconnect = false; public HostBean() { @@ -202,6 +203,14 @@ public class HostBean extends AbstractBean { return stayConnected; } + public void setQuickDisconnect(boolean quickDisconnect) { + this.quickDisconnect = quickDisconnect; + } + + public boolean getQuickDisconnect() { + return quickDisconnect; + } + public String getDescription() { String description = String.format("%s@%s", username, hostname); @@ -234,6 +243,7 @@ public class HostBean extends AbstractBean { values.put(HostDatabase.FIELD_HOST_COMPRESSION, Boolean.toString(compression)); values.put(HostDatabase.FIELD_HOST_ENCODING, encoding); values.put(HostDatabase.FIELD_HOST_STAYCONNECTED, stayConnected); + values.put(HostDatabase.FIELD_HOST_QUICKDISCONNECT, quickDisconnect); return values; } diff --git a/src/org/connectbot/service/FontSizeChangedListener.java b/src/org/connectbot/service/FontSizeChangedListener.java index eb1c33d..56b9971 100644 --- a/src/org/connectbot/service/FontSizeChangedListener.java +++ b/src/org/connectbot/service/FontSizeChangedListener.java @@ -24,8 +24,8 @@ package org.connectbot.service; public interface FontSizeChangedListener { /** - * @param size - * new font size + * @param sizeDp + * new font size in dp */ - void onFontSizeChanged(float size); + void onFontSizeChanged(float sizeDp); } diff --git a/src/org/connectbot/service/TerminalBridge.java b/src/org/connectbot/service/TerminalBridge.java index 6b87b74..2065a97 100644 --- a/src/org/connectbot/service/TerminalBridge.java +++ b/src/org/connectbot/service/TerminalBridge.java @@ -61,8 +61,9 @@ import de.mud.terminal.vt320; public class TerminalBridge implements VDUDisplay { public final static String TAG = "ConnectBot.TerminalBridge"; - public final static int DEFAULT_FONT_SIZE = 10; + public final static int DEFAULT_FONT_SIZE_DP = 10; private final static int FONT_SIZE_STEP = 2; + private final float displayDensity; public Integer[] color; @@ -107,7 +108,7 @@ public class TerminalBridge implements VDUDisplay { public int charHeight = -1; private int charTop = -1; - private float fontSize = -1; + private float fontSizeDp = -1; private final List<FontSizeChangedListener> fontSizeChangedListeners; @@ -143,6 +144,8 @@ public class TerminalBridge implements VDUDisplay { emulation = null; manager = null; + displayDensity = 1f; + defaultPaint = new Paint(); selectionArea = new SelectionArea(); @@ -169,6 +172,8 @@ public class TerminalBridge implements VDUDisplay { emulation = manager.getEmulation(); scrollback = manager.getScrollback(); + this.displayDensity = manager.getResources().getDisplayMetrics().density; + // create prompt helper to relay password and hostkey requests up to gui promptHelper = new PromptHelper(this); @@ -182,10 +187,11 @@ public class TerminalBridge implements VDUDisplay { fontSizeChangedListeners = new LinkedList<FontSizeChangedListener>(); - int hostFontSize = host.getFontSize(); - if (hostFontSize <= 0) - hostFontSize = DEFAULT_FONT_SIZE; - setFontSize(hostFontSize); + int hostFontSizeDp = host.getFontSize(); + if (hostFontSizeDp <= 0) { + hostFontSizeDp = DEFAULT_FONT_SIZE_DP; + } + setFontSize(hostFontSizeDp); // create terminal buffer and handle outgoing data // this is probably status reply information @@ -384,7 +390,7 @@ public class TerminalBridge implements VDUDisplay { relayThread.start(); // force font-size to make sure we resizePTY as needed - setFontSize(fontSize); + setFontSize(fontSizeDp); // finally send any post-login string, if requested injectString(host.getPostLogin()); @@ -429,7 +435,7 @@ public class TerminalBridge implements VDUDisplay { disconnectThread.setName("Disconnect"); disconnectThread.start(); - if (immediate) { + if (immediate || (host.getQuickDisconnect() && !host.getStayConnected())) { awaitingClose = true; if (disconnectListener != null) disconnectListener.onDisconnected(TerminalBridge.this); @@ -480,13 +486,18 @@ public class TerminalBridge implements VDUDisplay { /** * Request a different font size. Will make call to parentChanged() to make * sure we resize PTY if needed. + * + * @param sizeDp Size of font in dp */ - /* package */ final void setFontSize(float size) { - if (size <= 0.0) + /* package */ final void setFontSize(float sizeDp) { + if (sizeDp <= 0.0) { return; + } + + final int fontSizePx = (int) (sizeDp * this.displayDensity + 0.5f); - defaultPaint.setTextSize(size); - fontSize = size; + defaultPaint.setTextSize(fontSizePx); + fontSizeDp = sizeDp; // read new metrics to get exact pixel dimensions FontMetrics fm = defaultPaint.getFontMetrics(); @@ -498,13 +509,15 @@ public class TerminalBridge implements VDUDisplay { charHeight = (int)Math.ceil(fm.descent - fm.top); // refresh any bitmap with new font size - if(parent != null) + if (parent != null) { parentChanged(parent); + } - for (FontSizeChangedListener ofscl : fontSizeChangedListeners) - ofscl.onFontSizeChanged(size); + for (FontSizeChangedListener ofscl : fontSizeChangedListeners) { + ofscl.onFontSizeChanged(sizeDp); + } - host.setFontSize((int) fontSize); + host.setFontSize((int) sizeDp); manager.hostdb.updateFontSize(host); forcedSize = false; @@ -771,51 +784,52 @@ public class TerminalBridge implements VDUDisplay { /** * Resize terminal to fit [rows]x[cols] in screen of size [width]x[height] - * @param rows - * @param cols - * @param width - * @param height + * + * @param rows desired number of text rows + * @param cols desired numbor of text colums + * @param width width of screen in pixels + * @param height height of screen in pixels */ public synchronized void resizeComputed(int cols, int rows, int width, int height) { - float size = 8.0f; + float sizeDp = 8.0f; float step = 8.0f; float limit = 0.125f; int direction; - while ((direction = fontSizeCompare(size, cols, rows, width, height)) < 0) - size += step; + while ((direction = fontSizeCompare(sizeDp, cols, rows, width, height)) < 0) + sizeDp += step; if (direction == 0) { - Log.d("fontsize", String.format("Found match at %f", size)); + Log.d("fontsize", String.format("Found match at %f", sizeDp)); return; } step /= 2.0f; - size -= step; + sizeDp -= step; - while ((direction = fontSizeCompare(size, cols, rows, width, height)) != 0 + while ((direction = fontSizeCompare(sizeDp, cols, rows, width, height)) != 0 && step >= limit) { step /= 2.0f; if (direction > 0) { - size -= step; + sizeDp -= step; } else { - size += step; + sizeDp += step; } } if (direction > 0) - size -= step; + sizeDp -= step; this.columns = cols; this.rows = rows; - setFontSize(size); + setFontSize(sizeDp); forcedSize = true; } - private int fontSizeCompare(float size, int cols, int rows, int width, int height) { + private int fontSizeCompare(float sizeDp, int cols, int rows, int width, int height) { // read new metrics to get exact pixel dimensions - defaultPaint.setTextSize(size); + defaultPaint.setTextSize((int) (sizeDp * this.displayDensity + 0.5f)); FontMetrics fm = defaultPaint.getFontMetrics(); float[] widths = new float[1]; @@ -823,7 +837,7 @@ public class TerminalBridge implements VDUDisplay { int termWidth = (int)widths[0] * cols; int termHeight = (int)Math.ceil(fm.descent - fm.top) * rows; - Log.d("fontsize", String.format("font size %f resulted in %d x %d", size, termWidth, termHeight)); + Log.d("fontsize", String.format("font size %fdp resulted in %d x %d", sizeDp, termWidth, termHeight)); // Check to see if it fits in resolution specified. if (termWidth > width || termHeight > height) @@ -1003,16 +1017,16 @@ public class TerminalBridge implements VDUDisplay { } /** - * + * Convenience function to increase the font size by a given step. */ public void increaseFontSize() { - setFontSize(fontSize + FONT_SIZE_STEP); + setFontSize(fontSizeDp + FONT_SIZE_STEP); } /** - * + * Convenience function to decrease the font size by a given step. */ public void decreaseFontSize() { - setFontSize(fontSize - FONT_SIZE_STEP); + setFontSize(fontSizeDp - FONT_SIZE_STEP); } } diff --git a/src/org/connectbot/service/TerminalKeyListener.java b/src/org/connectbot/service/TerminalKeyListener.java index 7ff21df..13e8dd1 100644 --- a/src/org/connectbot/service/TerminalKeyListener.java +++ b/src/org/connectbot/service/TerminalKeyListener.java @@ -64,6 +64,14 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha // backport constants from api level 11 private final static int KEYCODE_ESCAPE = 111; + private final static int KEYCODE_CTRL_LEFT = 113; + private final static int KEYCODE_CTRL_RIGHT = 114; + private final static int KEYCODE_INSERT = 124; + private final static int KEYCODE_FORWARD_DEL = 112; + private final static int KEYCODE_MOVE_HOME = 122; + private final static int KEYCODE_MOVE_END = 123; + private final static int KEYCODE_PAGE_DOWN = 93; + private final static int KEYCODE_PAGE_UP = 92; private final static int HC_META_CTRL_ON = 0x1000; private final static int HC_META_CTRL_LEFT_ON = 0x2000; private final static int HC_META_CTRL_RIGHT_ON = 0x4000; @@ -81,6 +89,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha private boolean shiftedNumbersAreFKeysOnHardKeyboard; private boolean controlNumbersAreFKeysOnSoftKeyboard; private boolean volumeKeysChangeFontSize; + private int stickyMetas; private int ourMetaState = 0; @@ -234,6 +243,10 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha return true; } } + if (keyCode == KEYCODE_CTRL_LEFT || keyCode == KEYCODE_CTRL_RIGHT) { + metaPress(OUR_CTRL_ON); + return true; + } } if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { @@ -258,7 +271,7 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha sendEscape(); ourMetaState &= ~OUR_CTRL_ON; } else - metaPress(OUR_CTRL_ON); + metaPress(OUR_CTRL_ON, true); } bridge.redraw(); return true; @@ -292,7 +305,11 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha int uchar = event.getUnicodeChar(derivedMetaState & ~HC_META_CTRL_MASK); int ucharWithoutAlt = event.getUnicodeChar( derivedMetaState & ~(HC_META_ALT_MASK | HC_META_CTRL_MASK)); - if (uchar != ucharWithoutAlt) { + if (uchar == 0) { + // Keymap doesn't know the key with alt on it, so just go with the unmodified version + uchar = ucharWithoutAlt; + } + else if (uchar != ucharWithoutAlt) { // The alt key was used to modify the character returned; therefore, drop the alt // modifier from the state so we don't end up sending alt+key. derivedMetaState &= ~HC_META_ALT_MASK; @@ -405,6 +422,31 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha bridge.tryKeyVibrate(); } return true; + + case KEYCODE_INSERT: + ((vt320) buffer).keyPressed(vt320.KEY_INSERT, ' ', + getStateForBuffer()); + return true; + case KEYCODE_FORWARD_DEL: + ((vt320) buffer).keyPressed(vt320.KEY_DELETE, ' ', + getStateForBuffer()); + return true; + case KEYCODE_MOVE_HOME: + ((vt320) buffer).keyPressed(vt320.KEY_HOME, ' ', + getStateForBuffer()); + return true; + case KEYCODE_MOVE_END: + ((vt320) buffer).keyPressed(vt320.KEY_END, ' ', + getStateForBuffer()); + return true; + case KEYCODE_PAGE_UP: + ((vt320) buffer).keyPressed(vt320.KEY_PAGE_UP, ' ', + getStateForBuffer()); + return true; + case KEYCODE_PAGE_DOWN: + ((vt320) buffer).keyPressed(vt320.KEY_PAGE_DOWN, ' ', + getStateForBuffer()); + return true; } } catch (IOException e) { @@ -493,17 +535,25 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha * * @param code */ - public void metaPress(int code) { + public void metaPress(int code, boolean forceSticky) { if ((ourMetaState & (code << 1)) != 0) { ourMetaState &= ~(code << 1); } else if ((ourMetaState & code) != 0) { ourMetaState &= ~code; ourMetaState |= code << 1; - } else + } else if (forceSticky || (stickyMetas & code) != 0) { ourMetaState |= code; + } else { + // skip redraw + return; + } bridge.redraw(); } + public void metaPress(int code) { + metaPress(code, false); + } + public void setTerminalKeyMode(String keymode) { this.keymode = keymode; } @@ -538,18 +588,28 @@ public class TerminalKeyListener implements OnKeyListener, OnSharedPreferenceCha if (PreferenceConstants.KEYMODE.equals(key) || PreferenceConstants.SHIFT_FKEYS.equals(key) || PreferenceConstants.CTRL_FKEYS.equals(key) || - PreferenceConstants.VOLUME_FONT.equals(key)) { + PreferenceConstants.VOLUME_FONT.equals(key) || + PreferenceConstants.STICKY_MODIFIERS.equals(key)) { updatePrefs(); } } private void updatePrefs() { - keymode = prefs.getString(PreferenceConstants.KEYMODE, PreferenceConstants.KEYMODE_RIGHT); + keymode = prefs.getString(PreferenceConstants.KEYMODE, PreferenceConstants.KEYMODE_NONE); shiftedNumbersAreFKeysOnHardKeyboard = prefs.getBoolean(PreferenceConstants.SHIFT_FKEYS, false); controlNumbersAreFKeysOnSoftKeyboard = prefs.getBoolean(PreferenceConstants.CTRL_FKEYS, false); volumeKeysChangeFontSize = prefs.getBoolean(PreferenceConstants.VOLUME_FONT, true); + String stickyModifiers = prefs.getString(PreferenceConstants.STICKY_MODIFIERS, + PreferenceConstants.NO); + if (PreferenceConstants.ALT.equals(stickyModifiers)) { + stickyMetas = OUR_ALT_ON; + } else if (PreferenceConstants.YES.equals(stickyModifiers)) { + stickyMetas = OUR_SHIFT_ON | OUR_CTRL_ON | OUR_ALT_ON; + } else { + stickyMetas = 0; + } } public void setCharset(String encoding) { diff --git a/src/org/connectbot/transport/Local.java b/src/org/connectbot/transport/Local.java index 5ace1b0..f7bbf11 100644 --- a/src/org/connectbot/transport/Local.java +++ b/src/org/connectbot/transport/Local.java @@ -153,6 +153,11 @@ public class Local extends AbsTransport { @Override public void setDimensions(int columns, int rows, int width, int height) { + // We are not connected yet. + if (shellFd == null) { + return; + } + try { Exec.setPtyWindowSize(shellFd, rows, columns, width, height); } catch (Exception e) { diff --git a/src/org/connectbot/util/HostDatabase.java b/src/org/connectbot/util/HostDatabase.java index 2a92bab..c6707ae 100644 --- a/src/org/connectbot/util/HostDatabase.java +++ b/src/org/connectbot/util/HostDatabase.java @@ -47,7 +47,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper { public final static String TAG = "ConnectBot.HostDatabase"; public final static String DB_NAME = "hosts"; - public final static int DB_VERSION = 22; + public final static int DB_VERSION = 24; public final static String TABLE_HOSTS = "hosts"; public final static String FIELD_HOST_NICKNAME = "nickname"; @@ -69,6 +69,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper { public final static String FIELD_HOST_COMPRESSION = "compression"; public final static String FIELD_HOST_ENCODING = "encoding"; public final static String FIELD_HOST_STAYCONNECTED = "stayconnected"; + public final static String FIELD_HOST_QUICKDISCONNECT = "quickdisconnect"; public final static String TABLE_PORTFORWARDS = "portforwards"; public final static String FIELD_PORTFORWARD_HOSTID = "hostid"; @@ -139,9 +140,14 @@ public class HostDatabase extends RobustSQLiteOpenHelper { public static final Object[] dbLock = new Object[0]; + /** Used during upgrades from DB version 23 to 24. */ + private final float displayDensity; + public HostDatabase(Context context) { super(context, DB_NAME, null, DB_VERSION); + this.displayDensity = context.getResources().getDisplayMetrics().density; + getWritableDatabase().close(); } @@ -169,7 +175,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper { + FIELD_HOST_WANTSESSION + " TEXT DEFAULT '" + Boolean.toString(true) + "', " + FIELD_HOST_COMPRESSION + " TEXT DEFAULT '" + Boolean.toString(false) + "', " + FIELD_HOST_ENCODING + " TEXT DEFAULT '" + ENCODING_DEFAULT + "', " - + FIELD_HOST_STAYCONNECTED + " TEXT)"); + + FIELD_HOST_STAYCONNECTED + " TEXT, " + + FIELD_HOST_QUICKDISCONNECT + " TEXT DEFAULT '" + Boolean.toString(false) + "')"); db.execSQL("CREATE TABLE " + TABLE_PORTFORWARDS + " (_id INTEGER PRIMARY KEY, " @@ -259,12 +266,18 @@ public class HostDatabase extends RobustSQLiteOpenHelper { db.execSQL("DROP TABLE " + TABLE_COLOR_DEFAULTS); db.execSQL(CREATE_TABLE_COLOR_DEFAULTS); db.execSQL(CREATE_TABLE_COLOR_DEFAULTS_INDEX); + case 22: + db.execSQL("ALTER TABLE " + TABLE_HOSTS + + " ADD COLUMN " + FIELD_HOST_QUICKDISCONNECT + " TEXT DEFAULT '" + Boolean.toString(false) + "'"); + case 23: + db.execSQL("UPDATE " + TABLE_HOSTS + + " SET " + FIELD_HOST_FONTSIZE + " = " + FIELD_HOST_FONTSIZE + " / " + displayDensity); } } /** * Touch a specific host to update its "last connected" field. - * @param nickname Nickname field of host to update + * @param host host to update */ public void touchHost(HostBean host) { long now = System.currentTimeMillis() / 1000; @@ -353,8 +366,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper { } /** - * @param hosts - * @param c + * @param c cursor to read from */ private List<HostBean> createHostBeans(Cursor c) { List<HostBean> hosts = new LinkedList<HostBean>(); @@ -376,8 +388,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper { COL_FONTSIZE = c.getColumnIndexOrThrow(FIELD_HOST_FONTSIZE), COL_COMPRESSION = c.getColumnIndexOrThrow(FIELD_HOST_COMPRESSION), COL_ENCODING = c.getColumnIndexOrThrow(FIELD_HOST_ENCODING), - COL_STAYCONNECTED = c.getColumnIndexOrThrow(FIELD_HOST_STAYCONNECTED); - + COL_STAYCONNECTED = c.getColumnIndexOrThrow(FIELD_HOST_STAYCONNECTED), + COL_QUICKDISCONNECT = c.getColumnIndexOrThrow(FIELD_HOST_QUICKDISCONNECT); while (c.moveToNext()) { HostBean host = new HostBean(); @@ -400,6 +412,7 @@ public class HostDatabase extends RobustSQLiteOpenHelper { host.setCompression(Boolean.valueOf(c.getString(COL_COMPRESSION))); host.setEncoding(c.getString(COL_ENCODING)); host.setStayConnected(Boolean.valueOf(c.getString(COL_STAYCONNECTED))); + host.setQuickDisconnect(Boolean.valueOf(c.getString(COL_QUICKDISCONNECT))); hosts.add(host); } @@ -408,8 +421,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper { } /** - * @param c - * @return + * @param c cursor with zero or more hosts + * @return the first host from the cursor or {@code null} if none. */ private HostBean getFirstHostBean(Cursor c) { HostBean host = null; @@ -424,13 +437,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper { } /** - * @param nickname - * @param protocol - * @param username - * @param hostname - * @param hostname2 - * @param port - * @return + * @param selection parameters describing the desired host + * @return host matching selection or {@code null}. */ public HostBean findHost(Map<String, String> selection) { StringBuilder selectionBuilder = new StringBuilder(); @@ -475,8 +483,8 @@ public class HostDatabase extends RobustSQLiteOpenHelper { } /** - * @param hostId - * @return + * @param hostId host id for the host + * @return host matching the hostId or {@code null} if none match */ public HostBean findHostById(long hostId) { HostBean host; @@ -496,10 +504,10 @@ public class HostDatabase extends RobustSQLiteOpenHelper { /** * Record the given hostkey into database under this nickname. - * @param hostname - * @param port - * @param hostkeyalgo - * @param hostkey + * @param hostname hostname to match + * @param port port to match + * @param hostkeyalgo algorithm for host key + * @param hostkey the bytes of the host key itself */ public void saveKnownHost(String hostname, int port, String hostkeyalgo, byte[] hostkey) { ContentValues values = new ContentValues(); diff --git a/src/org/connectbot/util/PreferenceConstants.java b/src/org/connectbot/util/PreferenceConstants.java index ad29c39..d3cd832 100644 --- a/src/org/connectbot/util/PreferenceConstants.java +++ b/src/org/connectbot/util/PreferenceConstants.java @@ -30,11 +30,6 @@ public class PreferenceConstants { public static final boolean PRE_HONEYCOMB = SDK_INT < 11; public static final String MEMKEYS = "memkeys"; - public static final String UPDATE = "update"; - - public static final String UPDATE_DAILY = "Daily"; - public static final String UPDATE_WEEKLY = "Weekly"; - public static final String UPDATE_NEVER = "Never"; public static final String LAST_CHECKED = "lastchecked"; @@ -56,6 +51,7 @@ public class PreferenceConstants { public static final String KEYMODE_RIGHT = "Use right-side keys"; public static final String KEYMODE_LEFT = "Use left-side keys"; + public static final String KEYMODE_NONE = "none"; public static final String CAMERA = "camera"; @@ -85,6 +81,10 @@ public class PreferenceConstants { public static final String SHIFT_FKEYS = "shiftfkeys"; public static final String CTRL_FKEYS = "ctrlfkeys"; public static final String VOLUME_FONT = "volumefont"; + public static final String STICKY_MODIFIERS = "stickymodifiers"; + public static final String YES = "yes"; + public static final String NO = "no"; + public static final String ALT = "alt"; /* Backup identifiers */ public static final String BACKUP_PREF_KEY = "prefs"; diff --git a/src/org/connectbot/util/UberColorPickerDialog.java b/src/org/connectbot/util/UberColorPickerDialog.java index 2c01b30..dc36bcb 100644 --- a/src/org/connectbot/util/UberColorPickerDialog.java +++ b/src/org/connectbot/util/UberColorPickerDialog.java @@ -33,6 +33,8 @@ package org.connectbot.util; +import org.connectbot.R; + import android.app.Dialog; import android.content.Context; import android.graphics.Bitmap; @@ -80,7 +82,6 @@ public class UberColorPickerDialog extends Dialog { * @param context * @param listener * @param initialColor - * @param showTitle If true, a title is shown across the top of the dialog. If false a toast is shown instead. */ public UberColorPickerDialog(Context context, OnColorChangedListener listener, @@ -109,7 +110,7 @@ public class UberColorPickerDialog extends Dialog { int screenWidth = dm.widthPixels; int screenHeight = dm.heightPixels; - setTitle("Pick a color (try the trackball)"); + setTitle(getContext().getResources().getString(R.string.title_color_picker)); try { setContentView(new ColorPickerView(getContext(), l, screenWidth, screenHeight, mInitialColor)); @@ -132,20 +133,13 @@ public class UberColorPickerDialog extends Dialog { * I highly recommend adding new methods to the end of the list. If you want to try to reorder the list, you're on your own. */ private static class ColorPickerView extends View { - private static int SWATCH_WIDTH = 95; - private static final int SWATCH_HEIGHT = 60; - - private static int PALETTE_POS_X = 0; - private static int PALETTE_POS_Y = SWATCH_HEIGHT; - private static final int PALETTE_DIM = SWATCH_WIDTH * 2; - private static final int PALETTE_RADIUS = PALETTE_DIM / 2; - private static final int PALETTE_CENTER_X = PALETTE_RADIUS; - private static final int PALETTE_CENTER_Y = PALETTE_RADIUS; + private static int SWATCH_WIDTH_PORTRAIT_DP = 95; + private static int SWATCH_WIDTH_LANDSCAPE_DP = 110; + private static final int SWATCH_HEIGHT_DP = 60; - private static final int SLIDER_THICKNESS = 40; + private static final int PALETTE_DIM_DP = SWATCH_WIDTH_PORTRAIT_DP * 2; - private static int VIEW_DIM_X = PALETTE_DIM; - private static int VIEW_DIM_Y = SWATCH_HEIGHT; + private static final int SLIDER_THICKNESS_DP = 40; //NEW_METHOD_WORK_NEEDED_HERE private static final int METHOD_HS_V_PALETTE = 0; @@ -158,7 +152,11 @@ public class UberColorPickerDialog extends Dialog { private static final int TRACK_HS_PALETTE = 30; private static final int TRACK_VER_VALUE_SLIDER = 31; - private static final int TEXT_SIZE = 12; + private static final int TEXT_SIZE_DP = 12; + private static final int TEXT_SIZE_LABEL_DP = 12; + + private static final int BUTTON_TEXT_MARGIN_DP = 16; + private static int[] TEXT_HSV_POS = new int[2]; private static int[] TEXT_RGB_POS = new int[2]; private static int[] TEXT_YUV_POS = new int[2]; @@ -166,6 +164,19 @@ public class UberColorPickerDialog extends Dialog { private static final float PI = 3.141592653589793f; + private final int mSwatchWidthPx; + private final int mTextSizePx; + private final int mTextSizeLabelPx; + private final int mPalettePosX; + private final int mPalettePosY; + private final int mPaletteDimPx; + private final int mPaletteRadiusPx; + private final int mSliderThicknessPx; + private final int mViewDimXPx; + private final int mViewDimYPx; + private final int mPaletteCenterPx; + private final int mButtonTextMarginPx; + private int mMethod = METHOD_HS_V_PALETTE; private int mTracking = TRACKED_NONE; //What object on screen is currently being tracked for movement @@ -224,6 +235,10 @@ public class UberColorPickerDialog extends Dialog { throws Exception { super(c); + DisplayMetrics metrics = c.getResources().getDisplayMetrics(); + mTextSizePx = (int) (TEXT_SIZE_DP * metrics.density + 0.5f); + mTextSizeLabelPx = (int) (TEXT_SIZE_LABEL_DP * metrics.density + 0.5f); + //We need to make the dialog focusable to retrieve trackball events. setFocusable(true); @@ -235,56 +250,64 @@ public class UberColorPickerDialog extends Dialog { updateAllFromHSV(); + mPaletteDimPx = (int) (PALETTE_DIM_DP * metrics.density + 0.5f); + mSliderThicknessPx = (int) (SLIDER_THICKNESS_DP * metrics.density + 0.5f); + mButtonTextMarginPx = (int) (BUTTON_TEXT_MARGIN_DP * metrics.density + 0.5f); + //Setup the layout based on whether this is a portrait or landscape orientation. - if (width <= height) { //Portrait layout - SWATCH_WIDTH = (PALETTE_DIM + SLIDER_THICKNESS) / 2; + if (width <= height) { //Portrait layout + mSwatchWidthPx = (int) (((PALETTE_DIM_DP + SLIDER_THICKNESS_DP) / 2) * metrics.density + 0.5f); + final int swatchHeightPx = (int) (SWATCH_HEIGHT_DP * metrics.density + 0.5f); - PALETTE_POS_X = 0; - PALETTE_POS_Y = TEXT_SIZE * 4 + SWATCH_HEIGHT; + mPalettePosX = 0; + mPalettePosY = mTextSizePx * 4 + swatchHeightPx; //Set more rects, lots of rects - mOldSwatchRect.set(0, TEXT_SIZE * 4, SWATCH_WIDTH, TEXT_SIZE * 4 + SWATCH_HEIGHT); - mNewSwatchRect.set(SWATCH_WIDTH, TEXT_SIZE * 4, SWATCH_WIDTH * 2, TEXT_SIZE * 4 + SWATCH_HEIGHT); - mPaletteRect.set(0, PALETTE_POS_Y, PALETTE_DIM, PALETTE_POS_Y + PALETTE_DIM); - mVerSliderRect.set(PALETTE_DIM, PALETTE_POS_Y, PALETTE_DIM + SLIDER_THICKNESS, PALETTE_POS_Y + PALETTE_DIM); + mOldSwatchRect.set(0, mTextSizePx * 4, mSwatchWidthPx, mTextSizePx * 4 + swatchHeightPx); + mNewSwatchRect.set(mSwatchWidthPx, mTextSizePx * 4, mSwatchWidthPx * 2, mTextSizePx * 4 + swatchHeightPx); + mPaletteRect.set(0, mPalettePosY, mPaletteDimPx, mPalettePosY + mPaletteDimPx); + mVerSliderRect.set(mPaletteDimPx, mPalettePosY, mPaletteDimPx + mSliderThicknessPx, mPalettePosY + mPaletteDimPx); - TEXT_HSV_POS[0] = 3; + TEXT_HSV_POS[0] = (int) (3 * metrics.density + 0.5f); TEXT_HSV_POS[1] = 0; - TEXT_RGB_POS[0] = TEXT_HSV_POS[0] + 50; + TEXT_RGB_POS[0] = TEXT_HSV_POS[0] + (int) (50 * metrics.density + 0.5f); TEXT_RGB_POS[1] = TEXT_HSV_POS[1]; - TEXT_YUV_POS[0] = TEXT_HSV_POS[0] + 100; + TEXT_YUV_POS[0] = TEXT_HSV_POS[0] + (int) (100 * metrics.density + 0.5f); TEXT_YUV_POS[1] = TEXT_HSV_POS[1]; - TEXT_HEX_POS[0] = TEXT_HSV_POS[0] + 150; + TEXT_HEX_POS[0] = TEXT_HSV_POS[0] + (int) (150 * metrics.density + 0.5f); TEXT_HEX_POS[1] = TEXT_HSV_POS[1]; - VIEW_DIM_X = PALETTE_DIM + SLIDER_THICKNESS; - VIEW_DIM_Y = SWATCH_HEIGHT + PALETTE_DIM + TEXT_SIZE * 4; - } - else { //Landscape layout - SWATCH_WIDTH = 110; + mViewDimXPx = mPaletteDimPx + mSliderThicknessPx; + mViewDimYPx = swatchHeightPx + mPaletteDimPx + mTextSizePx * 4; + } else { //Landscape layout + mSwatchWidthPx = (int) (SWATCH_WIDTH_LANDSCAPE_DP * metrics.density + 0.5f); + final int swatchHeightPx = (int) (SWATCH_HEIGHT_DP * metrics.density + 0.5f); - PALETTE_POS_X = SWATCH_WIDTH; - PALETTE_POS_Y = 0; + mPalettePosX = mSwatchWidthPx; + mPalettePosY = 0; //Set more rects, lots of rects - mOldSwatchRect.set(0, TEXT_SIZE * 7, SWATCH_WIDTH, TEXT_SIZE * 7 + SWATCH_HEIGHT); - mNewSwatchRect.set(0, TEXT_SIZE * 7 + SWATCH_HEIGHT, SWATCH_WIDTH, TEXT_SIZE * 7 + SWATCH_HEIGHT * 2); - mPaletteRect.set(SWATCH_WIDTH, PALETTE_POS_Y, SWATCH_WIDTH + PALETTE_DIM, PALETTE_POS_Y + PALETTE_DIM); - mVerSliderRect.set(SWATCH_WIDTH + PALETTE_DIM, PALETTE_POS_Y, SWATCH_WIDTH + PALETTE_DIM + SLIDER_THICKNESS, PALETTE_POS_Y + PALETTE_DIM); + mOldSwatchRect.set(0, mTextSizePx * 7, mSwatchWidthPx, mTextSizePx * 7 + swatchHeightPx); + mNewSwatchRect.set(0, mTextSizePx * 7 + mSliderThicknessPx, mSwatchWidthPx, mTextSizePx * 7 + swatchHeightPx * 2); + mPaletteRect.set(mSwatchWidthPx, mPalettePosY, mSwatchWidthPx + mPaletteDimPx, mPalettePosY + mPaletteDimPx); + mVerSliderRect.set(mSwatchWidthPx + mPaletteDimPx, mPalettePosY, mSwatchWidthPx + mPaletteDimPx + mSliderThicknessPx, mPalettePosY + mPaletteDimPx); - TEXT_HSV_POS[0] = 3; + TEXT_HSV_POS[0] = (int) (3 * metrics.density + 0.5f); TEXT_HSV_POS[1] = 0; TEXT_RGB_POS[0] = TEXT_HSV_POS[0]; - TEXT_RGB_POS[1] = (int)(TEXT_HSV_POS[1] + TEXT_SIZE * 3.5); - TEXT_YUV_POS[0] = TEXT_HSV_POS[0] + 50; - TEXT_YUV_POS[1] = (int)(TEXT_HSV_POS[1] + TEXT_SIZE * 3.5); - TEXT_HEX_POS[0] = TEXT_HSV_POS[0] + 50; + TEXT_RGB_POS[1] = (int) (TEXT_HSV_POS[1] + mTextSizePx * 3.5); + TEXT_YUV_POS[0] = TEXT_HSV_POS[0] + (int) (50 * metrics.density + 0.5f); + TEXT_YUV_POS[1] = (int) (TEXT_HSV_POS[1] + mTextSizePx * 3.5); + TEXT_HEX_POS[0] = TEXT_HSV_POS[0] + (int) (50 * metrics.density + 0.5f); TEXT_HEX_POS[1] = TEXT_HSV_POS[1]; - VIEW_DIM_X = PALETTE_POS_X + PALETTE_DIM + SLIDER_THICKNESS; - VIEW_DIM_Y = Math.max(mNewSwatchRect.bottom, PALETTE_DIM); + mViewDimXPx = mPalettePosX + mPaletteDimPx + mSliderThicknessPx; + mViewDimYPx = Math.max(mNewSwatchRect.bottom, mPaletteDimPx); } + mPaletteCenterPx = mPaletteDimPx / 2; + mPaletteRadiusPx = mPaletteDimPx / 2; + //Rainbows make everybody happy! mSpectrumColorsRev = new int[] { 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, @@ -305,18 +328,18 @@ public class UberColorPickerDialog extends Dialog { mSwatchNew.setColor(Color.HSVToColor(mHSV)); Shader shaderA = new SweepGradient(0, 0, mSpectrumColorsRev, null); - Shader shaderB = new RadialGradient(0, 0, PALETTE_CENTER_X, 0xFFFFFFFF, 0xFF000000, Shader.TileMode.CLAMP); + Shader shaderB = new RadialGradient(0, 0, mPaletteCenterPx, 0xFFFFFFFF, 0xFF000000, Shader.TileMode.CLAMP); Shader shader = new ComposeShader(shaderA, shaderB, PorterDuff.Mode.SCREEN); mOvalHueSat = new Paint(Paint.ANTI_ALIAS_FLAG); mOvalHueSat.setShader(shader); mOvalHueSat.setStyle(Paint.Style.FILL); mOvalHueSat.setDither(true); - mVerSliderBM = Bitmap.createBitmap(SLIDER_THICKNESS, PALETTE_DIM, Bitmap.Config.RGB_565); + mVerSliderBM = Bitmap.createBitmap(mSliderThicknessPx, mPaletteDimPx, Bitmap.Config.RGB_565); mVerSliderCv = new Canvas(mVerSliderBM); for (int i = 0; i < 3; i++) { - mHorSlidersBM[i] = Bitmap.createBitmap(PALETTE_DIM, SLIDER_THICKNESS, Bitmap.Config.RGB_565); + mHorSlidersBM[i] = Bitmap.createBitmap(mPaletteDimPx, mSliderThicknessPx, Bitmap.Config.RGB_565); mHorSlidersCv[i] = new Canvas(mHorSlidersBM[i]); } @@ -332,7 +355,7 @@ public class UberColorPickerDialog extends Dialog { //Add Paints to represent the icon for the new method shaderA = new SweepGradient(0, 0, mSpectrumColorsRev, null); - shaderB = new RadialGradient(0, 0, PALETTE_DIM / 2, 0xFFFFFFFF, 0xFF000000, Shader.TileMode.CLAMP); + shaderB = new RadialGradient(0, 0, mPaletteDimPx / 2, 0xFFFFFFFF, 0xFF000000, Shader.TileMode.CLAMP); shader = new ComposeShader(shaderA, shaderB, PorterDuff.Mode.SCREEN); mOvalHueSatSmall = new Paint(Paint.ANTI_ALIAS_FLAG); mOvalHueSatSmall.setShader(shader); @@ -345,7 +368,7 @@ public class UberColorPickerDialog extends Dialog { //Make a basic text Paint. mText = new Paint(Paint.ANTI_ALIAS_FLAG); - mText.setTextSize(TEXT_SIZE); + mText.setTextSize(mTextSizePx); mText.setColor(Color.WHITE); //Kickstart @@ -375,7 +398,7 @@ public class UberColorPickerDialog extends Dialog { private void drawSwatches(Canvas canvas) { float[] hsv = new float[3]; - mText.setTextSize(16); + mText.setTextSize(mTextSizePx); //Draw the original swatch canvas.drawRect(mOldSwatchRect, mSwatchOld); @@ -384,17 +407,17 @@ public class UberColorPickerDialog extends Dialog { // hsv[1] = 0; if (hsv[2] > .5) mText.setColor(Color.BLACK); - canvas.drawText("Revert", mOldSwatchRect.left + SWATCH_WIDTH / 2 - mText.measureText("Revert") / 2, mOldSwatchRect.top + 16, mText); + canvas.drawText("Revert", mOldSwatchRect.left + mSwatchWidthPx / 2 - mText.measureText("Revert") / 2, mOldSwatchRect.top + mButtonTextMarginPx, mText); mText.setColor(Color.WHITE); //Draw the new swatch canvas.drawRect(mNewSwatchRect, mSwatchNew); if (mHSV[2] > .5) mText.setColor(Color.BLACK); - canvas.drawText("Accept", mNewSwatchRect.left + SWATCH_WIDTH / 2 - mText.measureText("Accept") / 2, mNewSwatchRect.top + 16, mText); + canvas.drawText("Accept", mNewSwatchRect.left + mSwatchWidthPx / 2 - mText.measureText("Accept") / 2, mNewSwatchRect.top + mButtonTextMarginPx, mText); mText.setColor(Color.WHITE); - mText.setTextSize(TEXT_SIZE); + mText.setTextSize(mTextSizePx); } /** @@ -403,25 +426,25 @@ public class UberColorPickerDialog extends Dialog { */ private void writeColorParams(Canvas canvas) { if (mHSVenabled) { - canvas.drawText("H: " + Integer.toString((int)(mHSV[0] / 360.0f * 255)), TEXT_HSV_POS[0], TEXT_HSV_POS[1] + TEXT_SIZE, mText); - canvas.drawText("S: " + Integer.toString((int)(mHSV[1] * 255)), TEXT_HSV_POS[0], TEXT_HSV_POS[1] + TEXT_SIZE * 2, mText); - canvas.drawText("V: " + Integer.toString((int)(mHSV[2] * 255)), TEXT_HSV_POS[0], TEXT_HSV_POS[1] + TEXT_SIZE * 3, mText); + canvas.drawText("H: " + Integer.toString((int) (mHSV[0] / 360.0f * 255)), TEXT_HSV_POS[0], TEXT_HSV_POS[1] + mTextSizePx, mText); + canvas.drawText("S: " + Integer.toString((int) (mHSV[1] * 255)), TEXT_HSV_POS[0], TEXT_HSV_POS[1] + mTextSizePx * 2, mText); + canvas.drawText("V: " + Integer.toString((int) (mHSV[2] * 255)), TEXT_HSV_POS[0], TEXT_HSV_POS[1] + mTextSizePx * 3, mText); } if (mRGBenabled) { - canvas.drawText("R: " + mRGB[0], TEXT_RGB_POS[0], TEXT_RGB_POS[1] + TEXT_SIZE, mText); - canvas.drawText("G: " + mRGB[1], TEXT_RGB_POS[0], TEXT_RGB_POS[1] + TEXT_SIZE * 2, mText); - canvas.drawText("B: " + mRGB[2], TEXT_RGB_POS[0], TEXT_RGB_POS[1] + TEXT_SIZE * 3, mText); + canvas.drawText("R: " + mRGB[0], TEXT_RGB_POS[0], TEXT_RGB_POS[1] + mTextSizePx, mText); + canvas.drawText("G: " + mRGB[1], TEXT_RGB_POS[0], TEXT_RGB_POS[1] + mTextSizePx * 2, mText); + canvas.drawText("B: " + mRGB[2], TEXT_RGB_POS[0], TEXT_RGB_POS[1] + mTextSizePx * 3, mText); } if (mYUVenabled) { - canvas.drawText("Y: " + Integer.toString((int)(mYUV[0] * 255)), TEXT_YUV_POS[0], TEXT_YUV_POS[1] + TEXT_SIZE, mText); - canvas.drawText("U: " + Integer.toString((int)((mYUV[1] + .5f) * 255)), TEXT_YUV_POS[0], TEXT_YUV_POS[1] + TEXT_SIZE * 2, mText); - canvas.drawText("V: " + Integer.toString((int)((mYUV[2] + .5f) * 255)), TEXT_YUV_POS[0], TEXT_YUV_POS[1] + TEXT_SIZE * 3, mText); + canvas.drawText("Y: " + Integer.toString((int) (mYUV[0] * 255)), TEXT_YUV_POS[0], TEXT_YUV_POS[1] + mTextSizePx, mText); + canvas.drawText("U: " + Integer.toString((int) ((mYUV[1] + .5f) * 255)), TEXT_YUV_POS[0], TEXT_YUV_POS[1] + mTextSizePx * 2, mText); + canvas.drawText("V: " + Integer.toString((int) ((mYUV[2] + .5f) * 255)), TEXT_YUV_POS[0], TEXT_YUV_POS[1] + mTextSizePx * 3, mText); } if (mHexenabled) - canvas.drawText("#" + mHexStr, TEXT_HEX_POS[0], TEXT_HEX_POS[1] + TEXT_SIZE, mText); + canvas.drawText("#" + mHexStr, TEXT_HEX_POS[0], TEXT_HEX_POS[1] + mTextSizePx, mText); } /** @@ -444,9 +467,9 @@ public class UberColorPickerDialog extends Dialog { */ private void markVerSlider(Canvas canvas, int markerPos) { mPosMarker.setColor(Color.BLACK); - canvas.drawRect(new Rect(0, markerPos - 2, SLIDER_THICKNESS, markerPos + 3), mPosMarker); + canvas.drawRect(new Rect(0, markerPos - 2, mSliderThicknessPx, markerPos + 3), mPosMarker); mPosMarker.setColor(Color.WHITE); - canvas.drawRect(new Rect(0, markerPos, SLIDER_THICKNESS, markerPos + 1), mPosMarker); + canvas.drawRect(new Rect(0, markerPos, mSliderThicknessPx, markerPos + 1), mPosMarker); } /** @@ -455,9 +478,9 @@ public class UberColorPickerDialog extends Dialog { */ private void hilightFocusedVerSlider(Canvas canvas) { mPosMarker.setColor(Color.WHITE); - canvas.drawRect(new Rect(0, 0, SLIDER_THICKNESS, PALETTE_DIM), mPosMarker); + canvas.drawRect(new Rect(0, 0, mSliderThicknessPx, mPaletteDimPx), mPosMarker); mPosMarker.setColor(Color.BLACK); - canvas.drawRect(new Rect(2, 2, SLIDER_THICKNESS - 2, PALETTE_DIM - 2), mPosMarker); + canvas.drawRect(new Rect(2, 2, mSliderThicknessPx - 2, mPaletteDimPx - 2), mPosMarker); } /** @@ -466,9 +489,9 @@ public class UberColorPickerDialog extends Dialog { */ private void hilightFocusedOvalPalette(Canvas canvas) { mPosMarker.setColor(Color.WHITE); - canvas.drawOval(new RectF(-PALETTE_RADIUS, -PALETTE_RADIUS, PALETTE_RADIUS, PALETTE_RADIUS), mPosMarker); + canvas.drawOval(new RectF(-mPaletteRadiusPx, -mPaletteRadiusPx, mPaletteRadiusPx, mPaletteRadiusPx), mPosMarker); mPosMarker.setColor(Color.BLACK); - canvas.drawOval(new RectF(-PALETTE_RADIUS + 2, -PALETTE_RADIUS + 2, PALETTE_RADIUS - 2, PALETTE_RADIUS - 2), mPosMarker); + canvas.drawOval(new RectF(-mPaletteRadiusPx + 2, -mPaletteRadiusPx + 2, mPaletteRadiusPx - 2, mPaletteRadiusPx - 2), mPosMarker); } //NEW_METHOD_WORK_NEEDED_HERE @@ -480,19 +503,19 @@ public class UberColorPickerDialog extends Dialog { private void drawHSV1Palette(Canvas canvas) { canvas.save(); - canvas.translate(PALETTE_POS_X, PALETTE_POS_Y); + canvas.translate(mPalettePosX, mPalettePosY); //Draw the 2D palette - canvas.translate(PALETTE_CENTER_X, PALETTE_CENTER_Y); - canvas.drawOval(new RectF(-PALETTE_RADIUS, -PALETTE_RADIUS, PALETTE_RADIUS, PALETTE_RADIUS), mOvalHueSat); - canvas.drawOval(new RectF(-PALETTE_RADIUS, -PALETTE_RADIUS, PALETTE_RADIUS, PALETTE_RADIUS), mValDimmer); + canvas.translate(mPaletteCenterPx, mPaletteCenterPx); + canvas.drawOval(new RectF(-mPaletteRadiusPx, -mPaletteRadiusPx, mPaletteRadiusPx, mPaletteRadiusPx), mOvalHueSat); + canvas.drawOval(new RectF(-mPaletteRadiusPx, -mPaletteRadiusPx, mPaletteRadiusPx, mPaletteRadiusPx), mValDimmer); if (mFocusedControl == 0) hilightFocusedOvalPalette(canvas); mark2DPalette(canvas, mCoord[0], mCoord[1]); - canvas.translate(-PALETTE_CENTER_X, -PALETTE_CENTER_Y); + canvas.translate(-mPaletteCenterPx, -mPaletteCenterPx); //Draw the 1D slider - canvas.translate(PALETTE_DIM, 0); + canvas.translate(mPaletteDimPx, 0); canvas.drawBitmap(mVerSliderBM, 0, 0, null); if (mFocusedControl == 1) hilightFocusedVerSlider(canvas); @@ -520,12 +543,12 @@ public class UberColorPickerDialog extends Dialog { setOvalValDimmer(); setVerValSlider(); - float angle = 2*PI - mHSV[0] / (180 / 3.1415927f); - float radius = mHSV[1] * PALETTE_RADIUS; - mCoord[0] = (int)(Math.cos(angle) * radius); - mCoord[1] = (int)(Math.sin(angle) * radius); + float angle = 2 * PI - mHSV[0] / (180 / 3.1415927f); + float radius = mHSV[1] * mPaletteRadiusPx; + mCoord[0] = (int) (Math.cos(angle) * radius); + mCoord[1] = (int) (Math.sin(angle) * radius); - mCoord[2] = PALETTE_DIM - (int)(mHSV[2] * PALETTE_DIM); + mCoord[2] = mPaletteDimPx - (int) (mHSV[2] * mPaletteDimPx); } //NEW_METHOD_WORK_NEEDED_HERE @@ -558,7 +581,7 @@ public class UberColorPickerDialog extends Dialog { GradientDrawable gradDraw = new GradientDrawable(Orientation.TOP_BOTTOM, colors); gradDraw.setDither(true); gradDraw.setLevel(10000); - gradDraw.setBounds(0, 0, SLIDER_THICKNESS, PALETTE_DIM); + gradDraw.setBounds(0, 0, mSliderThicknessPx, mPaletteDimPx); gradDraw.draw(mVerSliderCv); } @@ -567,7 +590,7 @@ public class UberColorPickerDialog extends Dialog { */ @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - setMeasuredDimension(VIEW_DIM_X, VIEW_DIM_Y); + setMeasuredDimension(mViewDimXPx, mViewDimYPx); } /** @@ -744,18 +767,18 @@ public class UberColorPickerDialog extends Dialog { mCoord[0] += x2; mCoord[1] += y2; - if (mCoord[0] < -PALETTE_RADIUS) - mCoord[0] = -PALETTE_RADIUS; - else if (mCoord[0] > PALETTE_RADIUS) - mCoord[0] = PALETTE_RADIUS; - if (mCoord[1] < -PALETTE_RADIUS) - mCoord[1] = -PALETTE_RADIUS; - else if (mCoord[1] > PALETTE_RADIUS) - mCoord[1] = PALETTE_RADIUS; + if (mCoord[0] < -mPaletteRadiusPx) + mCoord[0] = -mPaletteRadiusPx; + else if (mCoord[0] > mPaletteRadiusPx) + mCoord[0] = mPaletteRadiusPx; + if (mCoord[1] < -mPaletteRadiusPx) + mCoord[1] = -mPaletteRadiusPx; + else if (mCoord[1] > mPaletteRadiusPx) + mCoord[1] = mPaletteRadiusPx; - float radius = (float)java.lang.Math.sqrt(mCoord[0] * mCoord[0] + mCoord[1] * mCoord[1]); - if (radius > PALETTE_RADIUS) - radius = PALETTE_RADIUS; + float radius = (float) java.lang.Math.sqrt(mCoord[0] * mCoord[0] + mCoord[1] * mCoord[1]); + if (radius > mPaletteRadiusPx) + radius = mPaletteRadiusPx; float angle = (float)java.lang.Math.atan2(mCoord[1], mCoord[0]); // need to turn angle [-PI ... PI] into unit [0....1] @@ -771,7 +794,7 @@ public class UberColorPickerDialog extends Dialog { float[] hsv = new float[3]; Color.colorToHSV(c, hsv); mHSV[0] = hsv[0]; - mHSV[1] = radius / PALETTE_RADIUS; + mHSV[1] = radius / mPaletteRadiusPx; updateAllFromHSV(); mSwatchNew.setColor(Color.HSVToColor(mHSV)); @@ -797,7 +820,7 @@ public class UberColorPickerDialog extends Dialog { mHSV[2] += (increase ? jump : -jump) / 256.0f; mHSV[2] = pinToUnit(mHSV[2]); updateAllFromHSV(); - mCoord[2] = PALETTE_DIM - (int)(mHSV[2] * PALETTE_DIM); + mCoord[2] = mPaletteDimPx - (int) (mHSV[2] * mPaletteDimPx); mSwatchNew.setColor(Color.HSVToColor(mHSV)); @@ -872,11 +895,11 @@ public class UberColorPickerDialog extends Dialog { float y = event.getY(); //Generate coordinates which are palette=local with the origin at the upper left of the main 2D palette - int y2 = (int)(pin(round(y - PALETTE_POS_Y), PALETTE_DIM)); + int y2 = (int) (pin(round(y - mPalettePosY), mPaletteDimPx)); //Generate coordinates which are palette-local with the origin at the center of the main 2D palette - float circlePinnedX = x - PALETTE_POS_X - PALETTE_CENTER_X; - float circlePinnedY = y - PALETTE_POS_Y - PALETTE_CENTER_Y; + float circlePinnedX = x - mPalettePosX - mPaletteCenterPx; + float circlePinnedY = y - mPalettePosY - mPaletteCenterPx; //Is the event in a swatch? boolean inSwatchOld = ptInRect(round(x), round(y), mOldSwatchRect); @@ -886,11 +909,11 @@ public class UberColorPickerDialog extends Dialog { float radius = (float)java.lang.Math.sqrt(circlePinnedX * circlePinnedX + circlePinnedY * circlePinnedY); //Is the event in a circle-pinned 2D palette? - boolean inOvalPalette = radius <= PALETTE_RADIUS; + boolean inOvalPalette = radius <= mPaletteRadiusPx; //Pin the radius - if (radius > PALETTE_RADIUS) - radius = PALETTE_RADIUS; + if (radius > mPaletteRadiusPx) + radius = mPaletteRadiusPx; //Is the event in a vertical slider to the right of the main 2D palette boolean inVerSlider = ptInRect(round(x), round(y), mVerSliderRect); @@ -935,7 +958,7 @@ public class UberColorPickerDialog extends Dialog { float[] hsv = new float[3]; Color.colorToHSV(c, hsv); mHSV[0] = hsv[0]; - mHSV[1] = radius / PALETTE_RADIUS; + mHSV[1] = radius / mPaletteRadiusPx; updateAllFromHSV(); mSwatchNew.setColor(Color.HSVToColor(mHSV)); @@ -946,7 +969,7 @@ public class UberColorPickerDialog extends Dialog { else if (mTracking == TRACK_VER_VALUE_SLIDER) { if (mCoord[2] != y2) { mCoord[2] = y2; - float value = 1.0f - (float)y2 / (float)PALETTE_DIM; + float value = 1.0f - (float) y2 / (float) mPaletteDimPx; mHSV[2] = value; updateAllFromHSV(); |