New selection screen

This commit is contained in:
J-Jamet
2018-04-18 19:32:51 +02:00
parent 7c9153ea04
commit d7f9a02699
40 changed files with 300 additions and 275 deletions

View File

@@ -93,6 +93,8 @@ dependencies {
implementation "com.android.support:cardview-v7:$supportVersion"
implementation "com.madgag.spongycastle:core:$spongycastleVersion"
implementation "com.madgag.spongycastle:prov:$spongycastleVersion"
// Expandable view
implementation 'net.cachapa.expandablelayout:expandablelayout:2.9.2'
// Time
implementation 'joda-time:joda-time:2.9.9'
implementation 'org.sufficientlysecure:html-textview:3.5'

View File

@@ -31,6 +31,7 @@ import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
@@ -40,6 +41,7 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.getkeepsafe.taptargetview.TapTarget;
@@ -61,7 +63,8 @@ import com.kunzisoft.keepass.tasks.ProgressTask;
import com.kunzisoft.keepass.utils.EmptyUtils;
import com.kunzisoft.keepass.utils.MenuUtil;
import com.kunzisoft.keepass.utils.UriUtil;
import com.kunzisoft.keepass.view.FileNameView;
import net.cachapa.expandablelayout.ExpandableLayout;
import java.io.File;
import java.io.FileNotFoundException;
@@ -99,8 +102,9 @@ public class FileSelectActivity extends StylishActivity implements
private boolean consultationMode = false;
private AutofillHelper autofillHelper;
private View fileSelectExpandableButton;
private ExpandableLayout fileSelectExpandable;
private EditText openFileNameView;
private FileNameView fileNameView;
private AssignPasswordHelper assignPasswordHelper;
private Uri databaseUri;
@@ -141,11 +145,10 @@ public class FileSelectActivity extends StylishActivity implements
fileListTitle = findViewById(R.id.file_list_title);
Toolbar toolbar = findViewById(R.id.toolbar);
toolbar.setTitle(getString(R.string.app_name));
toolbar.setTitle("");
setSupportActionBar(toolbar);
openFileNameView = findViewById(R.id.file_filename);
fileNameView = findViewById(R.id.file_select);
// Set the initial value of the filename
defaultPath = Environment.getExternalStorageDirectory().getAbsolutePath()
@@ -154,6 +157,17 @@ public class FileSelectActivity extends StylishActivity implements
+ getString(R.string.database_file_extension_default);
openFileNameView.setHint(R.string.open_link_database);
// Button to expand file selection
fileSelectExpandableButton = findViewById(R.id.file_select_expandable_button);
fileSelectExpandable = findViewById(R.id.file_select_expandable);
fileSelectExpandableButton.setOnClickListener(view -> {
if (fileSelectExpandable.isExpanded())
fileSelectExpandable.collapse();
else
fileSelectExpandable.expand();
});
// History list
RecyclerView mListFiles = findViewById(R.id.file_list);
mListFiles.setLayoutManager(new LinearLayoutManager(this));
@@ -254,11 +268,30 @@ public class FileSelectActivity extends StylishActivity implements
}
}
private void updateExternalStorageWarning() {
// To show errors
int warning = -1;
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
warning = R.string.warning_read_only;
} else if (!state.equals(Environment.MEDIA_MOUNTED)) {
warning = R.string.warning_unmounted;
}
TextView labelWarningView = findViewById(R.id.label_warning);
if (warning != -1) {
labelWarningView.setText(warning);
labelWarningView.setVisibility(View.VISIBLE);
} else {
labelWarningView.setVisibility(View.INVISIBLE);
}
}
@Override
protected void onResume() {
super.onResume();
fileNameView.updateExternalStorageWarning();
updateExternalStorageWarning();
updateTitleFileListView();
mAdapter.notifyDataSetChanged();
}
@@ -278,7 +311,8 @@ public class FileSelectActivity extends StylishActivity implements
TapTarget.forView(createButtonView,
getString(R.string.education_create_database_title),
getString(R.string.education_create_database_summary))
.tintTarget(false)
.icon(ContextCompat.getDrawable(this, R.drawable.ic_database_plus_white_24dp))
.tintTarget(true)
.cancelable(true),
new TapTargetView.Listener() {
@Override
@@ -317,7 +351,8 @@ public class FileSelectActivity extends StylishActivity implements
TapTarget.forView(browseButtonView,
getString(R.string.education_select_database_title),
getString(R.string.education_select_database_summary))
.tintTarget(false)
.icon(ContextCompat.getDrawable(this, R.drawable.ic_folder_white_24dp))
.tintTarget(true)
.cancelable(true),
new TapTargetView.Listener() {
@Override
@@ -334,9 +369,10 @@ public class FileSelectActivity extends StylishActivity implements
if (!PreferencesUtil.isEducationOpenLinkDatabasePerformed(FileSelectActivity.this)) {
TapTargetView.showFor(FileSelectActivity.this,
TapTarget.forView(openButtonView,
TapTarget.forView(fileSelectExpandableButton,
getString(R.string.education_open_link_database_title),
getString(R.string.education_open_link_database_summary))
.icon(ContextCompat.getDrawable(FileSelectActivity.this, R.drawable.ic_link_white_24dp))
.tintTarget(true)
.cancelable(true),
new TapTargetView.Listener() {
@@ -601,6 +637,7 @@ public class FileSelectActivity extends StylishActivity implements
if (PreferencesUtil.autoOpenSelectedFile(FileSelectActivity.this)) {
launchPasswordActivityWithPath(uri.toString());
} else {
fileSelectExpandable.expand(false);
openFileNameView.setText(uri.toString());
}
}

View File

@@ -1,65 +0,0 @@
/*
* Copyright 2017 Brian Pellin, Jeremy Jamet / Kunzisoft.
*
* This file is part of KeePass DX.
*
* KeePass DX is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* KeePass DX is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
*
*/
package com.kunzisoft.keepass.view;
import android.content.Context;
import android.os.Environment;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.kunzisoft.keepass.R;
public class FileNameView extends RelativeLayout {
public FileNameView(Context context) {
this(context, null);
}
public FileNameView(Context context, AttributeSet attrs) {
super(context, attrs);
inflate(context);
}
private void inflate(Context context) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.file_selection_filename, this);
}
public void updateExternalStorageWarning() {
int warning = -1;
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED_READ_ONLY)) {
warning = R.string.warning_read_only;
} else if (!state.equals(Environment.MEDIA_MOUNTED)) {
warning = R.string.warning_unmounted;
}
TextView tv = findViewById(R.id.label_warning);
if (warning != -1) {
tv.setText(warning);
tv.setVisibility(VISIBLE);
} else {
tv.setVisibility(INVISIBLE);
}
}
}

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:color="@color/white"
tools:targetApi="lollipop">
<item>
<shape>
<corners
android:radius="0dp" />
<padding
android:left="0dp"
android:right="0dp"
android:top="12dp"
android:bottom="12dp"/>
<solid android:color="?attr/colorPrimary"/>
</shape>
</item>
</ripple>

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/background_img_repeat"
android:tileMode="repeat" />

View File

@@ -2,9 +2,6 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/background_night"/>
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher"/>
</item>
<item
android:drawable="@drawable/background_repeat"/>
</layer-list>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<corners
android:radius="0dp" />
<padding
android:left="0dp"
android:right="0dp"
android:top="12dp"
android:bottom="12dp"/>
<solid android:color="@color/green_dark"/>
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M3.9,12c0,-1.71 1.39,-3.1 3.1,-3.1h4L11,7L7,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1zM8,13h8v-2L8,11v2zM17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1s-1.39,3.1 -3.1,3.1h-4L13,17h4c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5z"/>
</vector>

View File

@@ -22,30 +22,34 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:paddingEnd="24dp"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:paddingStart="24dp"
android:background="?android:attr/selectableItemBackground">
<android.support.v7.widget.AppCompatTextView
android:id="@+id/file_filename"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/file_information"
android:layout_toEndOf="@+id/file_information"
android:paddingBottom="18dp"
android:paddingEnd="18dp"
android:paddingLeft="18dp"
android:paddingRight="18dp"
android:paddingStart="18dp"
android:paddingTop="18dp" />
android:layout_toLeftOf="@+id/file_information"
android:layout_toStartOf="@+id/file_information"
android:textColor="?attr/textColorInverse"
android:paddingEnd="12dp"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:paddingStart="12dp" />
<android.support.v7.widget.AppCompatImageView
android:id="@+id/file_information"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:padding="18dp"
android:src="@drawable/ic_info_white_24dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:tint="?android:attr/textColorPrimary"/>
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:tint="?attr/textColorInverse"/>
</RelativeLayout>

View File

@@ -25,96 +25,174 @@
android:importantForAutofill="noExcludeDescendants"
tools:targetApi="o">
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="?attr/actionBarSize"
android:elevation="4dp"
android:background="@color/transparent"
app:theme="?attr/toolbarAppearance"
app:popupTheme="?attr/toolbarPopupAppearance" />
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:titleEnabled="false"
app:theme="?attr/toolbarAppearance"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<com.kunzisoft.keepass.view.FileNameView
android:id="@+id/file_select"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="?attr/actionBarSize"
android:layout_marginBottom="24dp"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="?attr/toolbarAppearance"
app:popupTheme="?attr/toolbarPopupAppearance"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/browse_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_folder_white_24dp"
android:theme="?attr/whiteFab"
android:tint="?attr/colorAccentCompat"
app:useCompatPadding="true"
app:layout_anchor="@+id/app_bar"
app:layout_anchorGravity="end|bottom" />
<android.support.v4.widget.NestedScrollView
app:layout_behavior="@string/appbar_scrolling_view_behavior"
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/browse_button"
android:background="?attr/colorPrimaryDark"
android:layout_gravity="fill_vertical"
android:fillViewport="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:background="@drawable/background_repeat"
android:orientation="vertical">
<TextView android:id="@+id/file_list_title"
android:layout_marginTop="22dp"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginRight="72dp"
android:layout_marginEnd="72dp"
android:layout_marginBottom="8dp"
<FrameLayout
android:id="@+id/file_selection_title_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="24dp"
android:paddingStart="24dp"
android:paddingRight="24dp"
android:paddingEnd="24dp"
android:paddingTop="48dp"
android:paddingBottom="62dp">
<TextView
android:id="@+id/file_selection_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/KeepassDXStyle.TextAppearance.Title"
android:text="@string/open_recent" />
android:textSize="32sp"
android:textStyle="bold"
android:shadowColor="#393939"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="4"
android:paddingTop="?attr/actionBarSize"
android:textColor="?attr/textColorInverse"
android:gravity="center"
android:text="@string/app_name"/>
</FrameLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/file_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView android:id="@+id/file_list_title"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginEnd="@dimen/default_margin"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="24dp"
android:layout_below="@+id/file_selection_title_container"
style="@style/KeepassDXStyle.TextAppearance.Title"
android:textColor="?attr/colorAccentCompat"
android:text="@string/open_recent" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/file_list"
android:layout_alignParentBottom="true"
android:layout_below="@+id/file_list_title"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/create_database"
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
<android.support.v7.widget.AppCompatButton
android:id="@+id/browse_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/select_database_file"
android:drawableRight="@drawable/ic_folder_white_24dp"
android:drawableEnd="@drawable/ic_folder_white_24dp"
style="@style/KeepassDXStyle.Button.Primary"
android:paddingLeft="32dp"
android:paddingStart="32dp"
android:paddingRight="24dp"
android:paddingEnd="24dp"
android:layout_above="@+id/file_select_expandable"/>
<android.support.v7.widget.AppCompatImageView
android:id="@+id/file_select_expandable_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:elevation="8dp"
android:layout_alignTop="@+id/browse_button"
android:layout_alignBottom="@+id/browse_button"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_marginStart="12dp"
android:layout_marginLeft="12dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:src="@drawable/ic_link_white_24dp" />
<net.cachapa.expandablelayout.ExpandableLayout
android:id="@+id/file_select_expandable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/create_database"
app:el_duration="300"
app:el_expanded="false"
app:el_parallax="0.5">
<RelativeLayout
android:id="@+id/file_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/colorPrimaryDark"
android:paddingLeft="@dimen/default_margin"
android:paddingStart="@dimen/default_margin"
android:paddingRight="@dimen/default_margin"
android:paddingEnd="@dimen/default_margin">
<TextView android:id="@+id/label_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:visibility="gone" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/file_filename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textUri"
android:textColor="?attr/textColorInverse"
android:textColorHint="?attr/android:textColorHintInverse"
android:layout_toLeftOf="@+id/open_database"
android:layout_toStartOf="@+id/open_database"
android:layout_marginTop="6dp"
android:layout_marginBottom="6dp"
android:layout_marginStart="2dp"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
android:maxLines="1" />
<android.support.v7.widget.AppCompatImageView
android:id="@+id/open_database"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/file_filename"
android:layout_alignBottom="@+id/file_filename"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:src="@drawable/ic_send_white_24dp"
android:tint="?attr/textColorInverse" />
</RelativeLayout>
</net.cachapa.expandablelayout.ExpandableLayout>
<android.support.v7.widget.AppCompatButton
android:id="@+id/create_database"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:src="@drawable/ic_database_plus_white_24dp"
app:useCompatPadding="true"
style="@style/KeepassDXStyle.Fab"/>
android:drawableRight="@drawable/ic_database_plus_white_24dp"
android:drawableEnd="@drawable/ic_database_plus_white_24dp"
android:paddingLeft="24dp"
android:paddingStart="24dp"
android:paddingRight="24dp"
android:paddingEnd="24dp"
android:text="@string/create_keepass_file"/>
</RelativeLayout>

View File

@@ -1,75 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
CopyEnd 2017 Brian Pellin, Jeremy Jamet / Kunzisoft.
This file is part of KeePass DX.
KeePass DX is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
KeePass DX is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
-->
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.CardView
android:id="@+id/filename_container"
app:cardBackgroundColor="?attr/colorPrimary"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginRight="@dimen/default_margin"
android:layout_marginEnd="@dimen/default_margin"
android:layout_marginBottom="@dimen/default_margin">
<TextView android:id="@+id/label_warning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:visibility="gone" />
<android.support.v7.widget.AppCompatEditText
android:id="@+id/file_filename"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textUri"
android:textColor="?attr/textColorInverse"
android:textColorHint="?attr/android:textColorHintInverse"
android:layout_toLeftOf="@+id/open_database"
android:layout_toStartOf="@+id/open_database"
android:layout_marginStart="2dp"
android:layout_marginLeft="2dp"
android:layout_marginRight="2dp"
android:layout_marginEnd="2dp"
android:maxLines="1" />
<android.support.v7.widget.AppCompatImageView
android:id="@+id/open_database"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/file_filename"
android:paddingBottom="8dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:src="@drawable/ic_send_white_24dp"
android:tint="?attr/textColorInverse" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</android.support.design.widget.CoordinatorLayout>

View File

@@ -45,7 +45,7 @@
<string name="default_checkbox">Utilitza aquesta com a base de dades per defecte</string>
<string name="digits">Dígits</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft ve SENSE CAP MENA DE GARANTIA; Això és programari lliure, i pots redistribuïr-lo sota els termes de la llicència GPL versió 3 o posterior.</string>
<string name="select_database_file">Introdueix el nom de la base de dades:</string>
<string name="select_database_file">Introdueix el nom de la base de dades</string>
<string name="entry_accessed">Accedida</string>
<string name="entry_cancel">Cancel·la</string>
<string name="entry_comment">Comentaris</string>

View File

@@ -49,7 +49,7 @@
<string name="default_checkbox">Použít jako výchozí databázi</string>
<string name="digits">Čísla</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft dodáván BEZ JAKÉKOLIV ZÁRUKY; Toto je free software zdarma, a je možná jeho redistribuce pod podmínkou licence GPL verze 3 nebo novější.</string>
<string name="select_database_file">Zadejte názvev souboru databáze:</string>
<string name="select_database_file">Zadejte názvev souboru databáze</string>
<string name="entry_accessed">Poslední přístup</string>
<string name="entry_cancel">Storno</string>
<string name="entry_comment">Poznámky</string>

View File

@@ -48,7 +48,7 @@
<string name="default_checkbox">Brug denne database som standard</string>
<string name="digits">Cifre</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under the conditions of the GPL version 3 or later.</string>
<string name="select_database_file">Angiv navn på databasefil:</string>
<string name="select_database_file">Angiv navn på databasefil</string>
<string name="entry_accessed">Senest åbnet</string>
<string name="entry_cancel">Annuller</string>
<string name="entry_comment">Kommentarer</string>

View File

@@ -52,7 +52,7 @@
<string name="default_checkbox">Als Standard-Datenbank benutzen</string>
<string name="digits">Zahlen</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft. Alle Rechte vorbehalten. Die Nutzung der Software erfolgt auf eigene Verantwortung und ohne jegliche Garantie. Die Applikation ist kostenlos und wird unter den Bedingungen der GNU GPL Version 3 (oder später) verbreitet und lizenziert.</string>
<string name="select_database_file">Dateinamen der Datenbank eingeben:</string>
<string name="select_database_file">Dateinamen der Datenbank eingeben</string>
<string name="entry_accessed">Letzter Zugriff</string>
<string name="entry_cancel">Abbrechen</string>
<string name="entry_comment">Kommentare</string>

View File

@@ -46,7 +46,7 @@
<string name="default_checkbox">Χρήση αυτής της βάσης ως προεπιλεγμένη</string>
<string name="digits">Ψηφία</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft χωρίς ΚΑΜΙΑ ΑΠΟΛΥΤΩΣ ΕΓΓΥΗΣΗ. Το παρόν είναι δωρεάν λογισμικό και είστε ευπρόσδεκτοι να το διαμοιράσετε υπό τις συνθήκες της ΙΕΛ έκδοσης 3 ή μεταγενέστερης.</string>
<string name="select_database_file">Εισαγωγή ονόματος βάσης δεδομένων:</string>
<string name="select_database_file">Εισαγωγή ονόματος βάσης δεδομένων</string>
<string name="entry_accessed">Προσπελάσθηκε</string>
<string name="entry_cancel">Ακύρωση</string>
<string name="entry_comment">Σχόλια</string>

View File

@@ -44,7 +44,7 @@ Spanish translation by José I. Paños. Updated by David García-Abad (23-09-201
<string name="default_checkbox">Utilice esto como base de datos por defecto</string>
<string name="digits">Dígitos</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft NO TIENE TOTAL GARANTÍA; Este es software libre, y puedes redristribuirlo bajo las condiciones de la licencia GPL version 3 o posterior.</string>
<string name="select_database_file">Introduzca el nombre del archivo de base de datos:</string>
<string name="select_database_file">Introduzca el nombre del archivo de base de datos</string>
<string name="entry_accessed">Acceso</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_comment">Comentario</string>

View File

@@ -48,7 +48,7 @@
<string name="default_checkbox">Hau erabili modu lehenetsitako datubase gisa</string>
<string name="digits">Zenbakiak</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft ez dakar inolako bermerik; Lan hau software librea da; banatu edo/eta aldatu egin dezakezu GNU General Public License bigarren bertsioaren baldintzapean.</string>
<string name="select_database_file">Datubasearen fitxategiaren izena sartu:</string>
<string name="select_database_file">Datubasearen fitxategiaren izena sartu</string>
<string name="entry_accessed">Akzesoa</string>
<string name="entry_cancel">Utzi</string>
<string name="entry_comment">Iruzkinak</string>

View File

@@ -46,7 +46,7 @@
<string name="default_checkbox">Käytä tätä oletustietokantana</string>
<string name="digits">Numerot</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under the conditions of the GPL version 3 or later.</string>
<string name="select_database_file">Anna tietokannan tiedostonimi:</string>
<string name="select_database_file">Anna tietokannan tiedostonimi</string>
<string name="entry_accessed">Käytetty</string>
<string name="entry_cancel">Peruuta</string>
<string name="entry_comment">Kommentit</string>

View File

@@ -133,7 +133,7 @@
<string name="never">Jamais</string>
<string name="no_results">Aucun résultat pour cette recherche.</string>
<string name="no_url_handler">Impossible d\'ouvrir cette URL.</string>
<string name="select_database_file">Sélectionner une base de données existante :</string>
<string name="select_database_file">Sélectionner une base de données existante</string>
<string name="open_recent">Bases de données récentes :</string>
<string name="omitbackup_title">Ignorer les sauvegardes</string>
<string name="omitbackup_summary">Ignorer le groupe Sauvegardes des résultats de recherche (uniquement pour .kdb)</string>
@@ -314,7 +314,7 @@
<item>Thème Nuit</item>
<item>Thème Foncé Classique</item>
<item>Thème Ciel et Océan</item>
<item>Thème Pro</item>
<item>Thème Pro Violet</item>
</string-array>
<string name="icon_pack_choose_title">Choisir un pack d\'icones</string>
<string name="icon_pack_choose_summary">Changer le pack d\'icones de l\'application</string>

View File

@@ -43,7 +43,7 @@
<string name="default_checkbox">Adatbázis beállítása alapértelmezettként</string>
<string name="digits">Számok</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft. Ehhez a programhoz SEMMILYEN GARANCIA NEM JÁR; Ez egy szabad szoftver, GNU General Public License v3 vagy későbbi verziójának feltételei mellett terjeszthető, illetve módosítható. Fordította: Eversmann</string>
<string name="select_database_file">Adja meg az adatbázis fájlnevét:</string>
<string name="select_database_file">Adja meg az adatbázis fájlnevét</string>
<string name="entry_accessed">Utolsó hozzáférés</string>
<string name="entry_cancel">Mégsem</string>
<string name="entry_comment">Megjegyzés</string>

View File

@@ -45,7 +45,7 @@
<string name="default_checkbox">Usa come database predefinito</string>
<string name="digits">Cifre</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft viene distribuito ASSOLUTAMENTE con NESSUNA GARANZIA; Si tratta di software libero, e sei invitato a distribuirlo sotto le condizioni della licenza GPL versione 3 o superiore.</string>
<string name="select_database_file">Inserisci il nome file del database:</string>
<string name="select_database_file">Inserisci il nome file del database</string>
<string name="entry_accessed">Ultimo accesso</string>
<string name="entry_cancel">Annulla</string>
<string name="entry_comment">Commento</string>

View File

@@ -42,7 +42,7 @@
<string name="default_checkbox">このデータベースを次回以降も利用する</string>
<string name="digits">数字</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft によって作られたフリーソフトウェアであり、無保証です。GPLバージョン3以上の条件下でこれを再頒布することができます。</string>
<string name="select_database_file">データベースファイル:</string>
<string name="select_database_file">データベースファイル</string>
<string name="entry_accessed">最終アクセス日</string>
<string name="entry_cancel">キャンセル</string>
<string name="entry_comment">備考</string>

View File

@@ -27,7 +27,7 @@
<string name="decrypting_db">Datu bāzes atšifrēšana…</string>
<string name="default_checkbox">Izmantot šo kā manu noklusējuma datu bāzi</string>
<string name="digits">Cipari</string>
<string name="select_database_file">Ievadiet datu bāzes nosaukumu:</string>
<string name="select_database_file">Ievadiet datu bāzes nosaukumu</string>
<string name="entry_accessed">Piekļuve</string>
<string name="entry_cancel">Atcelt</string>
<string name="entry_comment">Komentāri</string>

View File

@@ -44,7 +44,7 @@
<string name="default_checkbox">Gebruik dit als mijn standaard database</string>
<string name="digits">Cijfers</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft biedt GEEN ENKELE GARANTIE; Dit is vrije software, u mag deze software verspreiden onder de voorwaarden van de GPL versie 3 of recenter.</string>
<string name="select_database_file">Geef de databasebestandsnaam:</string>
<string name="select_database_file">Geef de databasebestandsnaam</string>
<string name="entry_accessed">Laatst benaderd</string>
<string name="entry_cancel">Annuleren</string>
<string name="entry_comment">Commentaar</string>

View File

@@ -42,7 +42,7 @@
<string name="default_checkbox">Standarddatabasen</string>
<string name="digits">Tal</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft kjem med INGEN SOM HELST GARANTI. Dette er eit fritt program. Du er velkomen til å redistribuera det i samsvar med vilkåra til GPL utgåve 3 eller nyare.</string>
<string name="select_database_file">Skriv filnamnet til databasen:</string>
<string name="select_database_file">Skriv filnamnet til databasen</string>
<string name="entry_accessed">Brukt</string>
<string name="entry_cancel">Avbryt</string>
<string name="entry_comment">Merknader</string>

View File

@@ -40,7 +40,7 @@ along with KeePass DX. If not, see <http://www.gnu.org/licenses/>.
<string name="decrypting_db">Deszyfracja bazy danych&#8230;</string>
<string name="default_checkbox">Używaj tej bazy danych jako domyślnej</string>
<string name="digits">Cyfry</string>
<string name="select_database_file">Wprowadź nazwę pliku bazy danych:</string>
<string name="select_database_file">Wprowadź nazwę pliku bazy danych</string>
<string name="entry_accessed">Dostęp do pliku</string>
<string name="entry_cancel">Anuluj</string>
<string name="entry_comment">Komentarz</string>

View File

@@ -45,7 +45,7 @@
<string name="default_checkbox">Usar este banco de dados como padrão</string>
<string name="digits">Digitos</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft vem com ABSOLUTAMENTE NENHUMA GARANTIA; Este é um software livre, e você está convidado a redistribui-lo sob as condições da GPL versão 3 ou posterior.</string>
<string name="select_database_file">Digite o nome do arquivo de banco de dados:</string>
<string name="select_database_file">Digite o nome do arquivo de banco de dados</string>
<string name="entry_accessed">Acessado</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_comment">Comentários</string>

View File

@@ -49,7 +49,7 @@
<string name="default_checkbox">Utilizar esta base de dados como predefinida</string>
<string name="digits">Dígitos</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft vem com ABSOLUTAMENTE NENHUMA GARANTIA; Este software é livre, e pode redistribui-lo conforme as condições da licença GPL versão 3 ou superior.</string>
<string name="select_database_file">Introduza o nome do ficheiro da base de dados:</string>
<string name="select_database_file">Introduza o nome do ficheiro da base de dados</string>
<string name="entry_accessed">Acedido</string>
<string name="entry_cancel">Cancelar</string>
<string name="entry_comment">Comentários</string>

View File

@@ -46,7 +46,7 @@
<string name="default_checkbox">По умолчанию</string>
<string name="digits">Цифры 0…9</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft Программа предоставляется БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. Распространяется свободно по лицензии GPL v3 или новее</string>
<string name="select_database_file">Путь к базе KeePass:</string>
<string name="select_database_file">Путь к базе KeePass</string>
<string name="entry_accessed">Доступ</string>
<string name="entry_cancel">Отмена</string>
<string name="entry_comment">Комментарий</string>

View File

@@ -42,7 +42,7 @@
<string name="default_checkbox">Použiť toto ako predvolenú databázu</string>
<string name="digits">Číslice</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft použitie Absolútne bez Záruky; Toto je free software, a môžete ho používať pod GPL ver. 3 alebo vyššie.</string>
<string name="select_database_file">Vložte názov Databázy:</string>
<string name="select_database_file">Vložte názov Databázy</string>
<string name="entry_accessed">Pristupované</string>
<string name="entry_cancel">Zrušiť</string>
<string name="entry_comment">Poznámky</string>

View File

@@ -48,7 +48,7 @@
<string name="default_checkbox">Använda denna databasen som standard</string>
<string name="digits">Siffror</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft kommer HELT UTAN GARANTIER; Detta är fri programvara och du är välkommen att distribuera den utifrån villkoren i GPL version 3 eller senare.</string>
<string name="select_database_file">Ange databasnamn:</string>
<string name="select_database_file">Ange databasnamn</string>
<string name="entry_accessed">Senast använd</string>
<string name="entry_cancel">Avbryt</string>
<string name="entry_comment">Kommentarer</string>

View File

@@ -42,7 +42,7 @@
<string name="default_checkbox">Використовувати як мою типову базу даних</string>
<string name="digits">Цифри</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under the conditions of the GPL version 3 or later.</string>
<string name="select_database_file">Введіть ім’я бази даних:</string>
<string name="select_database_file">Введіть ім’я бази даних</string>
<string name="entry_accessed">Доступ</string>
<string name="entry_cancel">Відміна</string>
<string name="entry_comment">Коментар</string>

View File

@@ -42,7 +42,7 @@
<string name="default_checkbox">使用这做为我的默认数据库</string>
<string name="digits">数字</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft软件不带有绝对担保是自由软件您可在遵循GPL 3或者更高版本的情况下重新发布。中文简繁体翻译wangkf@gmail.com</string>
<string name="select_database_file">输入数据库名</string>
<string name="select_database_file">输入数据库名</string>
<string name="entry_accessed">访问时间</string>
<string name="entry_cancel">取消</string>
<string name="entry_comment">备注</string>

View File

@@ -42,7 +42,7 @@
<string name="default_checkbox">使用這做為我的默認資料庫</string>
<string name="digits">數字</string>
<string name="disclaimer_formal">KeePass DX \u00A9 %1$d Kunzisoft軟體不帶有絕對擔保是自由軟體您可在遵循GPL 3或者更高版本的情況下重新發佈。中文簡繁體翻譯wangkf@gmail.com</string>
<string name="select_database_file">輸入資料庫名</string>
<string name="select_database_file">輸入資料庫名</string>
<string name="entry_accessed">訪問時間</string>
<string name="entry_cancel">取消</string>
<string name="entry_comment">備註</string>

View File

@@ -135,7 +135,7 @@
<string name="never">Never</string>
<string name="no_results">No search results</string>
<string name="no_url_handler">No handler for this url.</string>
<string name="select_database_file">Select an existing database :</string>
<string name="select_database_file">Select an existing database</string>
<string name="open_recent">Recent databases :</string>
<string name="omitbackup_title">Don\'t search backup entries</string>
<string name="omitbackup_summary">Omit \'Backup\' group from search results (applies to .kdb only)</string>
@@ -318,7 +318,7 @@
<item>Night Theme</item>
<item>Classic Dark Theme</item>
<item>Sky and Ocean Theme</item>
<item>Pro Theme</item>
<item>Purple Pro Theme</item>
</string-array>
<string name="icon_pack_choose_title">Select an icon pack</string>
<string name="icon_pack_choose_summary">Change the icon pack of the application</string>

View File

@@ -22,8 +22,8 @@
<style name="KeepassDXStyle.Blue" parent="KeepassDXStyle.Light.v21" >
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue_dark</item>
<item name="colorAccent">@color/blue</item>
<item name="colorAccentCompat">@color/blue</item>
<item name="colorAccent">@color/blue_light</item>
<item name="colorAccentCompat">@color/blue_light</item>
<item name="colorControlActivated">@color/blue</item>
<item name="android:textColorPrimary">@color/blue_light</item>
<item name="android:textColorHintInverse">@color/blue_lighter</item>

View File

@@ -223,6 +223,11 @@
<item name="android:background">@drawable/button_background</item>
<item name="android:gravity">center</item>
</style>
<style name="KeepassDXStyle.Button.Primary" parent="KeepassDXStyle.v21.Button">
<item name="android:textColor">?attr/textColorInverse</item>
<item name="android:background">@drawable/button_background_primary</item>
<item name="android:gravity">center</item>
</style>
<!-- FAB -->
<style name="KeepassDXStyle.v21.Fab" parent="Theme.AppCompat" />

BIN
art/background_repeat.xcf Normal file

Binary file not shown.