Generate SSD page dialog from typed Jerboa
ober
a54defe7a6d8d3108613f8e6dbefd1518b8f17be
--- a/templates/ssd-review.ss +++ b/templates/ssd-review.ss @@ -4885,6 +4885,7 @@ mainActivityFinalizeGroupLabel mainActivityFocusBoxTypeDropdown mainActivityChangePage + mainActivityShowPageDialog mainActivityStartAppendMode mainActivityStartSsdAreaMode mainActivityRotatePage @@ -5184,6 +5185,10 @@ (builder : Builder) (message : String)) : Builder (kotlin-member-call setMessage)) + (extern (alertDialogBuilderSetViewRaw + (builder : Builder) + (view : EditText)) : Builder + (kotlin-member-call setView)) (extern (alertDialogBuilderShowRaw (builder : Builder)) : AlertDialog (kotlin-member-call show)) @@ -5203,6 +5208,8 @@ (kotlin-value android R layout simple_dropdown_item_1line)) (extern (inputTypeClassText) : Int32 (kotlin-value InputType TYPE_CLASS_TEXT)) + (extern (inputTypeClassNumber) : Int32 + (kotlin-value InputType TYPE_CLASS_NUMBER)) (extern (stringArrayAdapter (activity : MainActivity) (layoutResource : Int32) @@ -5280,6 +5287,13 @@ (extern (editTextRaw (view : EditText)) : Editable (kotlin-member-get text)) + (extern (editTextForActivity + (activity : MainActivity)) : EditText + (kotlin-call EditText)) + (extern (editTextInputTypeSetRaw + (view : EditText) + (inputType : Int32)) : Unit + (kotlin-member-set inputType)) (extern (editTextSetTextRaw (view : EditText) (text : String)) : Unit @@ -5288,6 +5302,9 @@ (view : EditText) (index : Int32)) : Unit (kotlin-member-call setSelection)) + (extern (editTextSelectAllRaw + (view : EditText)) : Unit + (kotlin-member-call selectAll)) (extern (buttonSetOnClickListenerRaw (button : Button) (listener : (-> View Unit))) : Unit @@ -6826,6 +6843,30 @@ (shiftPageIndex pageIndex pageCount delta)) (mainActivityPersistCurrentPdfStateRaw activity #f) (mainActivityRenderCurrentPageRaw activity)))) + (def (mainActivityShowPageDialog + (activity : MainActivity) + (uri : (Nullable Uri)) + (pageCount : Int32) + (pageIndex : Int32)) : Unit + (if (pageNavigationBlockedForUri uri pageCount) + (begin) + (let ((input (editTextForActivity activity))) + (begin + (editTextInputTypeSetRaw input (inputTypeClassNumber)) + (editTextSetTextRaw input (pageNumberText pageIndex)) + (editTextSelectAllRaw input) + (alertDialogBuilderShowRaw + (mainActivitySetPositiveLoadPage + (alertDialogBuilderSetCancelAction + (alertDialogBuilderSetViewRaw + (alertDialogBuilderSetTitleRaw + (alertDialogBuilderForActivityRaw activity) + "Go to page") + input)) + activity + input + pageCount)) + (begin))))) (def (mainActivityStartAppendMode (activity : MainActivity) (view : SsdReviewView) @@ -10621,7 +10662,7 @@ " ))" " addView(mainActivityActionRow(this@MainActivity, LinearLayout.HORIZONTAL, Gravity.CENTER_VERTICAL," " mainActivityButton(this@MainActivity, \"Prev Page\") { mainActivityChangePage(this@MainActivity, pdfUri, pageCount, pageIndex, -1) }," - " mainActivityButton(this@MainActivity, \"Page #\") { showPageDialog() }," + " mainActivityButton(this@MainActivity, \"Page #\") { mainActivityShowPageDialog(this@MainActivity, pdfUri, pageCount, pageIndex) }," " mainActivityButton(this@MainActivity, \"Next Page\") { mainActivityChangePage(this@MainActivity, pdfUri, pageCount, pageIndex, 1) }," " ))" " addView(mainActivityActionRow(this@MainActivity, LinearLayout.HORIZONTAL, Gravity.CENTER_VERTICAL," @@ -10714,24 +10755,6 @@ " )" " }" "" - " private fun showPageDialog() {" - " if (pageNavigationBlockedForUri(pdfUri, pageCount)) return" - " val input = EditText(this).apply {" - " inputType = InputType.TYPE_CLASS_NUMBER" - " setText(pageNumberText(pageIndex))" - " selectAll()" - " }" - " mainActivitySetPositiveLoadPage(" - " AlertDialog.Builder(this)" - " .setTitle(\"Go to page\")" - " .setView(input)" - " .setNegativeButton(\"Cancel\", null)," - " this," - " input," - " pageCount" - " ).show()" - " }" - "" " private fun editSelectedGroup() {" " val group = mainActivitySelectedGroup(this, reviewView, currentSession, selectedGroupId)" " if (ssdGroupMissing(group)) return"