Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion snippets/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

<meta-data
android:name="plugin.min_ide_version"
android:value="1.0.0" />
android:value="26.36" />

<meta-data
android:name="plugin.permissions"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import android.widget.LinearLayout
import android.widget.ArrayAdapter
import android.widget.Spinner
import android.widget.TextView
import android.widget.Toast
import androidx.fragment.app.Fragment
import com.codeonthego.snippets.R
import com.codeonthego.snippets.SnippetEntry
Expand All @@ -23,6 +22,7 @@ import com.codeonthego.snippets.SnippetsPlugin
import com.google.android.material.card.MaterialCardView
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.textfield.TextInputEditText
import com.itsaky.androidide.plugins.base.PluginWindows
import com.itsaky.androidide.plugins.base.PluginFragmentHelper

class SnippetManagerFragment : Fragment() {
Expand Down Expand Up @@ -144,17 +144,21 @@ class SnippetManagerFragment : Fragment() {
}

val editDialog = MaterialAlertDialogBuilder(ctx)
.setTitle(if (existing != null) "Edit Snippet" else "New Snippet")
.setTitle(
ctx.getString(
if (existing != null) R.string.snippet_editor_title_edit else R.string.snippet_editor_title_new
)
)
.setView(dialogView)
.setPositiveButton("Save") { _, _ ->
.setPositiveButton(ctx.getString(R.string.snippet_action_save)) { _, _ ->
val prefix = prefixInput.text?.toString()?.trim() ?: ""
val desc = descInput.text?.toString()?.trim() ?: ""
val lang = langSpinner.selectedItem?.toString() ?: ""
val scope = scopeSpinner.selectedItem?.toString() ?: ""
val body = bodyInput.text?.toString()?.split("\n") ?: emptyList()

if (prefix.isEmpty() || desc.isEmpty() || lang.isEmpty() || scope.isEmpty()) {
Toast.makeText(ctx, "All fields are required", Toast.LENGTH_SHORT).show()
PluginWindows.showToast(ctx, ctx.getString(R.string.snippet_msg_all_fields_required))
return@setPositiveButton
}

Expand All @@ -175,8 +179,9 @@ class SnippetManagerFragment : Fragment() {
save()
renderList()
}
.setNegativeButton("Cancel", null)
.show()
.setNegativeButton(ctx.getString(R.string.snippet_action_cancel), null)
.create()
PluginWindows.showDialog(editDialog)
applyDialogButtonColors(editDialog)
}

Expand All @@ -185,15 +190,16 @@ class SnippetManagerFragment : Fragment() {
val entry = snippets.getOrNull(index) ?: return

val deleteDialog = MaterialAlertDialogBuilder(ctx)
.setTitle("Delete Snippet")
.setMessage("Delete \"${entry.prefix}\"?")
.setPositiveButton("Delete") { _, _ ->
.setTitle(ctx.getString(R.string.snippet_delete_title))
.setMessage(ctx.getString(R.string.snippet_delete_confirm, entry.prefix))
.setPositiveButton(ctx.getString(R.string.snippet_action_delete)) { _, _ ->
snippets.removeAt(index)
save()
renderList()
}
.setNegativeButton("Cancel", null)
.show()
.setNegativeButton(ctx.getString(R.string.snippet_action_cancel), null)
.create()
PluginWindows.showDialog(deleteDialog)
applyDialogButtonColors(deleteDialog)
}

Expand All @@ -211,10 +217,10 @@ class SnippetManagerFragment : Fragment() {
SnippetsConfigParser.write(file, SnippetsConfig(snippets.toList()))
SnippetsPlugin.instance?.invalidateCache()
SnippetsPlugin.instance?.refreshRegistry()
Toast.makeText(requireContext(), "Snippets saved", Toast.LENGTH_SHORT).show()
PluginWindows.showToast(requireContext(), getString(R.string.snippet_msg_saved))
} catch (e: Exception) {
Log.e("SnippetManager", "Failed to save snippets", e)
Toast.makeText(requireContext(), "Failed to save", Toast.LENGTH_SHORT).show()
PluginWindows.showToast(requireContext(), getString(R.string.snippet_msg_save_failed))
}
}

Expand Down
13 changes: 13 additions & 0 deletions snippets/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="snippet_editor_title_new">New Snippet</string>
<string name="snippet_editor_title_edit">Edit Snippet</string>
<string name="snippet_action_save">Save</string>
<string name="snippet_action_cancel">Cancel</string>
<string name="snippet_action_delete">Delete</string>
<string name="snippet_delete_title">Delete Snippet</string>
<string name="snippet_delete_confirm">Delete \"%1$s\"?</string>
<string name="snippet_msg_all_fields_required">All fields are required</string>
<string name="snippet_msg_saved">Snippets saved</string>
<string name="snippet_msg_save_failed">Failed to save</string>
</resources>
Loading