@@ -129,6 +129,7 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
129129 val LINK_DIALOG_VISIBLE_KEY = " LINK_DIALOG_VISIBLE_KEY"
130130 val LINK_DIALOG_URL_KEY = " LINK_DIALOG_URL_KEY"
131131 val LINK_DIALOG_ANCHOR_KEY = " LINK_DIALOG_ANCHOR_KEY"
132+ val LINK_DIALOG_OPEN_NEW_WINDOW_KEY = " LINK_DIALOG_OPEN_NEW_WINDOW_KEY"
132133
133134 val HISTORY_LIST_KEY = " HISTORY_LIST_KEY"
134135 val HISTORY_CURSOR_KEY = " HISTORY_CURSOR_KEY"
@@ -596,8 +597,8 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
596597 if (isLinkDialogVisible) {
597598 val retainedUrl = customState.getString(LINK_DIALOG_URL_KEY , " " )
598599 val retainedAnchor = customState.getString(LINK_DIALOG_ANCHOR_KEY , " " )
599-
600- showLinkDialog(retainedUrl, retainedAnchor)
600+ val retainedOpenInNewWindow = customState.getString( LINK_DIALOG_OPEN_NEW_WINDOW_KEY , " " )
601+ showLinkDialog(retainedUrl, retainedAnchor, retainedOpenInNewWindow )
601602 }
602603
603604 val isBlockEditorDialogVisible = customState.getBoolean(BLOCK_DIALOG_VISIBLE_KEY , false )
@@ -644,9 +645,11 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
644645
645646 val urlInput = addLinkDialog!! .findViewById<EditText >(R .id.linkURL)
646647 val anchorInput = addLinkDialog!! .findViewById<EditText >(R .id.linkText)
648+ val openInNewWindowCheckbox = addLinkDialog!! .findViewById<CheckBox >(R .id.openInNewWindow)
647649
648650 bundle.putString(LINK_DIALOG_URL_KEY , urlInput?.text?.toString())
649651 bundle.putString(LINK_DIALOG_ANCHOR_KEY , anchorInput?.text?.toString())
652+ bundle.putString(LINK_DIALOG_OPEN_NEW_WINDOW_KEY , if (openInNewWindowCheckbox != null && openInNewWindowCheckbox.isChecked) " checked=true" else " checked=false" )
650653 }
651654
652655 if (blockEditorDialog != null && blockEditorDialog!! .isShowing) {
@@ -1450,12 +1453,12 @@ open class AztecText : AppCompatEditText, TextWatcher, UnknownHtmlSpan.OnUnknown
14501453 }
14511454
14521455 @SuppressLint(" InflateParams" )
1453- fun showLinkDialog (presetUrl : String = "", presetAnchor : String = "") {
1456+ fun showLinkDialog (presetUrl : String = "", presetAnchor : String = "", presetOpenInNewWindow : String = "" ) {
14541457 val urlAndAnchor = linkFormatter.getSelectedUrlWithAnchor()
14551458
14561459 val url = if (TextUtils .isEmpty(presetUrl)) urlAndAnchor.first else presetUrl
14571460 val anchor = if (TextUtils .isEmpty(presetAnchor)) urlAndAnchor.second else presetAnchor
1458- val openInNewWindow = urlAndAnchor.third
1461+ val openInNewWindow = if ( TextUtils .isEmpty(presetOpenInNewWindow)) urlAndAnchor.third else presetOpenInNewWindow == " checked=true "
14591462
14601463 val builder = AlertDialog .Builder (context)
14611464
0 commit comments