diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/ExportAsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/ExportAsDialog.kt
index b77f7ea5..bce1dfd9 100644
--- a/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/ExportAsDialog.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/notes/dialogs/ExportAsDialog.kt
@@ -8,6 +8,7 @@ import com.simplemobiletools.commons.dialogs.FilePickerDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.notes.R
import com.simplemobiletools.notes.activities.SimpleActivity
+import com.simplemobiletools.notes.extensions.config
import com.simplemobiletools.notes.models.Note
import kotlinx.android.synthetic.main.dialog_export_as.view.*
import java.io.File
@@ -20,6 +21,7 @@ class ExportAsDialog(val activity: SimpleActivity, val note: Note, val callback:
file_path.text = activity.humanizePath(realPath)
file_name.setText(note.title)
+ file_extension.setText(activity.config.lastUsedExtension)
file_path.setOnClickListener {
FilePickerDialog(activity, realPath, false, false, true) {
file_path.text = activity.humanizePath(it)
@@ -36,18 +38,21 @@ class ExportAsDialog(val activity: SimpleActivity, val note: Note, val callback:
activity.setupDialogStuff(view, this, R.string.export_as_file)
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener({
val filename = view.file_name.value
+ val extension = view.file_extension.value
if (filename.isEmpty()) {
activity.toast(R.string.filename_cannot_be_empty)
return@setOnClickListener
}
- val newFile = File(realPath, filename)
+ val fullFilename = if (extension.isEmpty()) filename else "$filename.$extension"
+ val newFile = File(realPath, fullFilename)
if (!newFile.name.isAValidFilename()) {
activity.toast(R.string.filename_invalid_characters)
return@setOnClickListener
}
+ activity.config.lastUsedExtension = extension
callback(newFile.absolutePath)
dismiss()
})
diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Config.kt
index d1a4e6d8..97c0dda4 100644
--- a/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Config.kt
@@ -43,4 +43,8 @@ class Config(context: Context) : BaseConfig(context) {
var placeCursorToEnd: Boolean
get() = prefs.getBoolean(CURSOR_PLACEMENT, true)
set(placement) = prefs.edit().putBoolean(CURSOR_PLACEMENT, placement).apply()
+
+ var lastUsedExtension: String
+ get() = prefs.getString(LAST_USED_EXTENSION, "txt")
+ set(lastUsedExtension) = prefs.edit().putString(LAST_USED_EXTENSION, lastUsedExtension).apply()
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Constants.kt
index a4e88390..9c5d64f9 100644
--- a/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/notes/helpers/Constants.kt
@@ -13,6 +13,7 @@ val SHOW_KEYBOARD = "show_keyboard"
val FONT_SIZE = "font_size"
val GRAVITY = "gravity"
val CURSOR_PLACEMENT = "cursor_placement"
+val LAST_USED_EXTENSION = "last_used_extension"
// gravity
val GRAVITY_LEFT = 0
diff --git a/app/src/main/res/layout/dialog_export_as.xml b/app/src/main/res/layout/dialog_export_as.xml
index c0de66c2..ae0f3fd7 100644
--- a/app/src/main/res/layout/dialog_export_as.xml
+++ b/app/src/main/res/layout/dialog_export_as.xml
@@ -23,12 +23,38 @@
android:paddingRight="@dimen/small_margin"
android:paddingTop="@dimen/small_margin"/>
+
+
+ android:textCursorDrawable="@null"
+ android:textSize="@dimen/normal_text_size"/>
+
+
+
+