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"/> + + + +