mirror of https://git.sr.ht/~oppen/ariane
bookmsarks wip
This commit is contained in:
parent
38e3442cfd
commit
4030921b32
|
@ -23,6 +23,7 @@ import oppen.gem.io.gemini.RuntimeCache
|
|||
import oppen.gem.io.history.uris.HistoryInterface
|
||||
import oppen.gem.ui.audio_player.AudioPlayer
|
||||
import oppen.gem.ui.bookmarks.BookmarkDialog
|
||||
import oppen.gem.ui.bookmarks.BookmarksDialog
|
||||
import oppen.gem.ui.content_image.ImageDialog
|
||||
import oppen.gem.ui.content_text.TextDialog
|
||||
import oppen.gem.ui.modals_menus.about.AboutDialog
|
||||
|
@ -155,7 +156,13 @@ class GemActivity : AppCompatActivity() {
|
|||
}.show()
|
||||
}
|
||||
R.id.overflow_menu_bookmarks -> {
|
||||
//todo
|
||||
BookmarksDialog(this, bookmarkDatasource){
|
||||
bookmarkDatasource.get { bookmarks ->
|
||||
bookmarks.forEach {bookmark ->
|
||||
println("Bookmark: ${bookmark.label}: ${bookmark.uri}")
|
||||
}
|
||||
}
|
||||
}.show()
|
||||
}
|
||||
R.id.overflow_menu_backlinks -> {
|
||||
val currentAddress = binding.addressEdit.text.toString()
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
package oppen.gem.ui.bookmarks
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import oppen.gem.R
|
||||
import oppen.gem.io.bookmarks.Bookmark
|
||||
|
||||
class BookmarksAdapter: RecyclerView.Adapter<BookmarksAdapter.ViewHolder>() {
|
||||
|
||||
val bookmarks = mutableListOf<Bookmark>()
|
||||
|
||||
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
|
||||
|
||||
fun update(bookmarks: List<Bookmark>){
|
||||
this.bookmarks.addAll(bookmarks)
|
||||
notifyDataSetChanged()
|
||||
}
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
|
||||
return ViewHolder(
|
||||
LayoutInflater.from(parent.context).inflate(R.layout.bookmark, parent, false)
|
||||
)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
val bookmark = bookmarks[position]
|
||||
}
|
||||
|
||||
override fun getItemCount(): Int = bookmarks.size
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package oppen.gem.ui.bookmarks
|
||||
|
||||
import android.content.Context
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AppCompatDialog
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import kotlinx.android.synthetic.main.dialog_bookmarks.view.*
|
||||
import oppen.gem.R
|
||||
import oppen.gem.io.bookmarks.Bookmark
|
||||
import oppen.gem.io.bookmarks.BookmarksDatasource
|
||||
import java.net.URI
|
||||
|
||||
|
||||
class BookmarksDialog(
|
||||
context: Context,
|
||||
private val bookmarkDatasource: BookmarksDatasource,
|
||||
onDismiss: () -> Unit): AppCompatDialog(context, R.style.FSDialog) {
|
||||
|
||||
init {
|
||||
val view = View.inflate(context, R.layout.dialog_bookmarks, null)
|
||||
|
||||
setContentView(view)
|
||||
|
||||
view.bookmarks_toolbar.setNavigationIcon(R.drawable.vector_close)
|
||||
view.bookmarks_toolbar.setNavigationOnClickListener {
|
||||
onDismiss()
|
||||
dismiss()
|
||||
}
|
||||
|
||||
view.bookmarks_recycler.layoutManager = LinearLayoutManager(context)
|
||||
|
||||
//None as yet
|
||||
view.bookmarks_toolbar.inflateMenu(R.menu.add_bookmarks)
|
||||
view.bookmarks_toolbar.setOnMenuItemClickListener {menuItem ->
|
||||
true
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:background="#ff00cc"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<androidx.appcompat.widget.Toolbar
|
||||
android:id="@+id/bookmarks_toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="@dimen/default_margin"
|
||||
android:layout_height="@dimen/bar_height"
|
||||
app:title="Bookmarks"/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/bookmarks_recycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/bookmarks_toolbar"/>
|
||||
|
||||
|
||||
</RelativeLayout>
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
</menu>
|
Loading…
Reference in New Issue