mirror of
https://github.com/SimpleMobileTools/Simple-Notes.git
synced 2025-05-19 16:34:13 +02:00
move the new note dialog in separate file
This commit is contained in:
parent
f10cc1f3d4
commit
e025a27c57
@ -10,14 +10,13 @@ import android.util.TypedValue
|
|||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.WindowManager
|
|
||||||
import android.view.inputmethod.InputMethodManager
|
import android.view.inputmethod.InputMethodManager
|
||||||
import android.widget.EditText
|
|
||||||
import com.simplemobiletools.notes.MyWidgetProvider
|
import com.simplemobiletools.notes.MyWidgetProvider
|
||||||
import com.simplemobiletools.notes.R
|
import com.simplemobiletools.notes.R
|
||||||
import com.simplemobiletools.notes.TYPE_NOTE
|
import com.simplemobiletools.notes.TYPE_NOTE
|
||||||
import com.simplemobiletools.notes.Utils
|
import com.simplemobiletools.notes.Utils
|
||||||
import com.simplemobiletools.notes.databases.DBHelper
|
import com.simplemobiletools.notes.databases.DBHelper
|
||||||
|
import com.simplemobiletools.notes.dialogs.NewNoteDialog
|
||||||
import com.simplemobiletools.notes.dialogs.OpenNoteDialog
|
import com.simplemobiletools.notes.dialogs.OpenNoteDialog
|
||||||
import com.simplemobiletools.notes.dialogs.WidgetNoteDialog
|
import com.simplemobiletools.notes.dialogs.WidgetNoteDialog
|
||||||
import com.simplemobiletools.notes.extensions.toast
|
import com.simplemobiletools.notes.extensions.toast
|
||||||
@ -130,34 +129,13 @@ class MainActivity : SimpleActivity(), OpenNoteDialog.OpenNoteListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun displayNewNoteDialog() {
|
fun displayNewNoteDialog() {
|
||||||
val newNoteView = layoutInflater.inflate(R.layout.new_note, null)
|
NewNoteDialog(this, mDb) {
|
||||||
|
saveText()
|
||||||
AlertDialog.Builder(this).apply {
|
val newNote = Note(0, it, "", TYPE_NOTE)
|
||||||
setTitle(resources.getString(R.string.new_note))
|
val id = mDb.insertNote(newNote)
|
||||||
setView(newNoteView)
|
updateSelectedNote(id)
|
||||||
setPositiveButton(R.string.ok, null)
|
mNotes = mDb.getNotes()
|
||||||
setNegativeButton(R.string.cancel, null)
|
invalidateOptionsMenu()
|
||||||
create().apply {
|
|
||||||
window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
|
|
||||||
show()
|
|
||||||
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
|
||||||
val titleET = newNoteView.findViewById(R.id.note_name) as EditText
|
|
||||||
val title = titleET.value
|
|
||||||
if (title.isEmpty()) {
|
|
||||||
toast(R.string.no_title)
|
|
||||||
} else if (mDb.doesTitleExist(title)) {
|
|
||||||
toast(R.string.title_taken)
|
|
||||||
} else {
|
|
||||||
saveText()
|
|
||||||
val newNote = Note(0, title, "", TYPE_NOTE)
|
|
||||||
val id = mDb.insertNote(newNote)
|
|
||||||
updateSelectedNote(id)
|
|
||||||
dismiss()
|
|
||||||
mNotes = mDb.getNotes()
|
|
||||||
invalidateOptionsMenu()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
package com.simplemobiletools.notes.dialogs
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.app.AlertDialog
|
||||||
|
import android.view.WindowManager
|
||||||
|
import com.simplemobiletools.notes.R
|
||||||
|
import com.simplemobiletools.notes.databases.DBHelper
|
||||||
|
import com.simplemobiletools.notes.extensions.toast
|
||||||
|
import com.simplemobiletools.notes.extensions.value
|
||||||
|
import kotlinx.android.synthetic.main.new_note.view.*
|
||||||
|
|
||||||
|
class NewNoteDialog(val activity: Activity, val db: DBHelper, callback: (title: String) -> Unit) {
|
||||||
|
|
||||||
|
init {
|
||||||
|
val view = activity.layoutInflater.inflate(R.layout.new_note, null)
|
||||||
|
|
||||||
|
AlertDialog.Builder(activity).apply {
|
||||||
|
setTitle(activity.resources.getString(R.string.new_note))
|
||||||
|
setView(view)
|
||||||
|
setPositiveButton(R.string.ok, null)
|
||||||
|
setNegativeButton(R.string.cancel, null)
|
||||||
|
create().apply {
|
||||||
|
window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
|
||||||
|
show()
|
||||||
|
getButton(android.support.v7.app.AlertDialog.BUTTON_POSITIVE).setOnClickListener {
|
||||||
|
val title = view.note_name.value
|
||||||
|
if (title.isEmpty()) {
|
||||||
|
activity.toast(R.string.no_title)
|
||||||
|
} else if (db.doesTitleExist(title)) {
|
||||||
|
activity.toast(R.string.title_taken)
|
||||||
|
} else {
|
||||||
|
callback.invoke(title)
|
||||||
|
dismiss()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user