Removed code block toggle

Might re-implement later, but the current implementation was somewhat cluttered
This commit is contained in:
Corewala 2022-01-30 11:26:11 -05:00
parent 1dcf3423a5
commit 0c034a7a43
7 changed files with 3 additions and 91 deletions

View File

@ -276,12 +276,6 @@ class GemActivity : AppCompatActivity() {
else -> hideClientCertShield()
}
val hideCodeBlocks = prefs.getBoolean(
"collapse_code_blocks",
false
)
adapter.hideCodeBlocks(hideCodeBlocks)
val showInlineIcons = prefs.getBoolean(
"show_inline_icons",
true

View File

@ -18,7 +18,6 @@ abstract class AbstractGemtextAdapter(
abstract fun loadImage(position: Int, cacheUri: Uri)
abstract fun inlineIcons(visible: Boolean)
abstract fun inlineImages(visible: Boolean)
abstract fun hideCodeBlocks(hideCodeBlocks: Boolean)
abstract fun linkButtons(visible: Boolean)
abstract fun inferTitle(): String?

View File

@ -93,27 +93,6 @@ class GemtextAdapter(
}else{
holder.itemView.gemtext_text_monospace_textview.text = line.substring(3)
}
if(hideCodeBlocks){
holder.itemView.show_code_block.setText(R.string.show_code)//reset for recycling
altText?.let{
holder.itemView.show_code_block.append(": $altText")
}
holder.itemView.show_code_block.visible(true)
holder.itemView.show_code_block.paint.isUnderlineText = true
holder.itemView.show_code_block.setOnClickListener {
setupCodeBlockToggle(holder, altText)
}
holder.itemView.gemtext_text_monospace_textview.visible(false)
when {
showInlineIcons -> holder.itemView.show_code_block.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, R.drawable.vector_code, 0)
else -> holder.itemView.show_code_block.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0)
}
}else{
holder.itemView.show_code_block.visible(false)
holder.itemView.gemtext_text_monospace_textview.visible(true)
}
}
is GmiViewHolder.Quote -> holder.itemView.gemtext_text_monospace_textview.text = line.substring(1).trim()
is GmiViewHolder.H1 -> {
@ -281,26 +260,6 @@ class GemtextAdapter(
}
}
private fun setupCodeBlockToggle(holder: GmiViewHolder.Code, altText: String?) {
//val adapterPosition = holder.adapterPosition
when {
holder.itemView.gemtext_text_monospace_textview.isVisible -> {
holder.itemView.show_code_block.setText(R.string.show_code)
holder.itemView.gemtext_text_monospace_textview.visible(false)
altText?.let{
holder.itemView.show_code_block.append(": $altText")
}
}
else -> {
holder.itemView.show_code_block.setText(R.string.hide_code)
holder.itemView.gemtext_text_monospace_textview.visible(true)
altText?.let{
holder.itemView.show_code_block.append(": $altText")
}
}
}
}
private fun getLink(line: String): String{
val linkParts = line.substring(2).trim().split("\\s+".toRegex(), 2)
return linkParts[0]
@ -338,9 +297,4 @@ class GemtextAdapter(
this.showInlineImages = visible
notifyDataSetChanged()
}
override fun hideCodeBlocks(hideCodeBlocks: Boolean) {
this.hideCodeBlocks = hideCodeBlocks
notifyDataSetChanged()
}
}

View File

@ -179,18 +179,6 @@ class SettingsFragment: PreferenceFragmentCompat(), Preference.OnPreferenceChang
accessibilityCategory.title = getString(R.string.accessibility)
screen.addPreference(accessibilityCategory)
//Accessibility - code blocks
val aboutCodeBlocksPref = Preference(context)
aboutCodeBlocksPref.summary = getString(R.string.collapse_code_blocks_about)
aboutCodeBlocksPref.isPersistent = false
aboutCodeBlocksPref.isSelectable = false
accessibilityCategory.addPreference(aboutCodeBlocksPref)
val collapseCodeBlocksPreference = SwitchPreferenceCompat(context)
collapseCodeBlocksPreference.key = "collapse_code_blocks"
collapseCodeBlocksPreference.title = getString(R.string.collapse_code_blocks)
accessibilityCategory.addPreference(collapseCodeBlocksPreference)
//Accessibility - inline icons
val showInlineIconsPreference = SwitchPreferenceCompat(context)
showInlineIconsPreference.setDefaultValue(true)

View File

@ -9,28 +9,13 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.appcompat.widget.AppCompatTextView
android:textSize="@dimen/default_text_size"
android:textColor="@color/stroke"
android:id="@+id/show_code_block"
android:background="?android:selectableItemBackground"
android:focusable="true" android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/default_margin_small"
android:layout_marginBottom="@dimen/default_margin_small"
android:text="@string/show_code"
android:drawablePadding="4.0dip"
/>
<HorizontalScrollView
android:scrollbars="none"
android:background="@drawable/block_background"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/def_quarter"
android:layout_marginBottom="@dimen/def_quarter"
android:layout_below="@id/show_code_block">
android:layout_marginBottom="@dimen/def_quarter">
<androidx.appcompat.widget.AppCompatTextView
android:textSize="@dimen/code_text_size"

View File

@ -57,7 +57,7 @@
<string name="web_content">Contenu Web</string>
<string name="web_content_label">Ouvrir les sites web en interne en utilisant des \'Onglets Personnalisés\', plutôt que d\'utiliser le navigateur par défaut. Cela pourrait vous aider à rester dans le Geminispace plutôt que d\'être distrait·e par le vaste web. Cela requiert un navigateur par défaut compatible.</string>
<string name="web_content_switch_label">Ouvrir en interne</string>
<string name="show_inline_images">Images en ligne</string>
<string name="show_inline_images">Images locales en ligne</string>
<string name="pkcs_notice">Seuls les magasins de clés client PKCS12 sont actuellement supportés</string>
<string name="client_certificate">Certificat Client</string>
<string name="tap_to_select_client_certificate">Cliquez pour sélectionner un certificat client</string>
@ -73,10 +73,6 @@
<string name="import_bookmarks">Importer des marque-pages</string>
<string name="export_bookmarks">Exporter des marque-pages</string>
<string name="accessibility">Accessibilité</string>
<string name="collapse_code_blocks">Cacher les rectangles pleins</string>
<string name="show_code">Montrer le code</string>
<string name="hide_code">Cacher le code</string>
<string name="collapse_code_blocks_about">Les capsules Gemini utilisent malheureusement souvent des en-têtes en ascii-art rendus avec des rectangles pleins à largeur fixe. Quand les rectangles pleins sont cachés, ils nécessitent un clic pour être affichés, ce qui améliore l\'ergonomie en cas d\'utilisation d\'un lecteur d\'écran.</string>
<string name="prefs_override_page_background">Utiliser une couleur d\'arrière-plan personnalisée</string>
<string name="prefs_override_page_background_dialog_title">Couleur d\'arrière-plan</string>
<string name="prefs_override_page_background_title">Couleur d\'arrière-plan</string>

View File

@ -57,7 +57,7 @@
<string name="web_content">Web Content</string>
<string name="web_content_label">Open websites internally using \'Custom Tabs\', instead of using the default browser. This might help you stay in Geminispace instead of being distracted by the wider web. Requires compatible default browser.</string>
<string name="web_content_switch_label">Open internally</string>
<string name="show_inline_images">Inline images</string>
<string name="show_inline_images">Inline local images</string>
<string name="pkcs_notice">Only PKCS12 client keystores are currently supported</string>
<string name="client_certificate">Client Certificate</string>
<string name="tap_to_select_client_certificate">Tap to select client certificate</string>
@ -73,10 +73,6 @@
<string name="import_bookmarks">Import bookmarks</string>
<string name="export_bookmarks">Export bookmarks</string>
<string name="accessibility">Accessibility</string>
<string name="collapse_code_blocks">Hide code blocks</string>
<string name="show_code">Show code</string>
<string name="hide_code">Hide code</string>
<string name="collapse_code_blocks_about">Gemini capsules unfortunately often use ascii-art headers rendered in monospaced code blocks. When code blocks are hidden they require a tap to expand which improves usability when using a screen reader.</string>
<string name="prefs_override_page_background">Use custom page background colour</string>
<string name="prefs_override_page_background_dialog_title">Page Background Colour</string>
<string name="prefs_override_page_background_title">Page Background Colour</string>