diff --git a/app/src/main/java/de/baumann/browser/view/TwoPaneLayout.kt b/app/src/main/java/de/baumann/browser/view/TwoPaneLayout.kt index cb1a2d769..ce49d54a1 100644 --- a/app/src/main/java/de/baumann/browser/view/TwoPaneLayout.kt +++ b/app/src/main/java/de/baumann/browser/view/TwoPaneLayout.kt @@ -33,7 +33,7 @@ class TwoPaneLayout : FrameLayout { private val binding: TwoPaneLayoutBinding = TwoPaneLayoutBinding.inflate(LayoutInflater.from(context), this) private val separator: View = binding.separator private val floatingLine: View = binding.floatingLine - private val dragHandle: View = binding.dragHandle + private val dragHandle: View = binding.middleDragHandle private var panel1: View? = null private var panel2: View? = null diff --git a/app/src/main/java/de/baumann/browser/view/adapter/BookmarkAdapter.kt b/app/src/main/java/de/baumann/browser/view/adapter/BookmarkAdapter.kt index 2a653076e..2ba935aca 100644 --- a/app/src/main/java/de/baumann/browser/view/adapter/BookmarkAdapter.kt +++ b/app/src/main/java/de/baumann/browser/view/adapter/BookmarkAdapter.kt @@ -1,6 +1,5 @@ package de.baumann.browser.view.adapter -import android.graphics.Bitmap import android.net.Uri import android.view.LayoutInflater import android.view.View @@ -13,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView import de.baumann.browser.Ninja.R import de.baumann.browser.database.Bookmark import de.baumann.browser.database.BookmarkManager -import kotlinx.coroutines.* import org.koin.core.component.KoinComponent import org.koin.core.component.inject diff --git a/app/src/main/java/de/baumann/browser/view/dialog/BookmarkEditDialog.kt b/app/src/main/java/de/baumann/browser/view/dialog/BookmarkEditDialog.kt index 18c17ab99..74966089d 100644 --- a/app/src/main/java/de/baumann/browser/view/dialog/BookmarkEditDialog.kt +++ b/app/src/main/java/de/baumann/browser/view/dialog/BookmarkEditDialog.kt @@ -16,6 +16,7 @@ import de.baumann.browser.database.Bookmark import de.baumann.browser.database.BookmarkManager import de.baumann.browser.view.NinjaToast import kotlinx.coroutines.launch +import org.koin.core.component.KoinComponent class BookmarkEditDialog( private val activity: Activity, @@ -24,6 +25,8 @@ class BookmarkEditDialog( private val okAction: () -> Unit, private val cancelAction: () -> Unit, ) { + private val dialogManager: DialogManager = DialogManager(activity) + fun show() { val lifecycleScope = (activity as LifecycleOwner).lifecycleScope @@ -49,7 +52,7 @@ class BookmarkEditDialog( private fun addFolder(lifecycleScope: LifecycleCoroutineScope, binding: DialogEditBookmarkBinding) { lifecycleScope.launch { - val folderName = getFolderName() + val folderName = dialogManager.getBookmarkFolderName() ?: return@launch bookmarkManager.insertDirectory(folderName) updateFolderSpinner(binding, folderName) } @@ -92,15 +95,4 @@ class BookmarkEditDialog( NinjaToast.show(activity, de.baumann.browser.Ninja.R.string.toast_error) } } - - private suspend fun getFolderName(): String { - val context: Context = activity - return TextInputDialog( - context, - context.getString(de.baumann.browser.Ninja.R.string.folder_name), - context.getString(de.baumann.browser.Ninja.R.string.folder_name_description), - "" - ).show() ?: "New Folder" - } - } \ No newline at end of file diff --git a/app/src/main/java/de/baumann/browser/view/dialog/BookmarkListDialog.kt b/app/src/main/java/de/baumann/browser/view/dialog/BookmarkListDialog.kt index ef451622c..fef289c41 100644 --- a/app/src/main/java/de/baumann/browser/view/dialog/BookmarkListDialog.kt +++ b/app/src/main/java/de/baumann/browser/view/dialog/BookmarkListDialog.kt @@ -2,6 +2,7 @@ package de.baumann.browser.view.dialog import android.app.Activity import android.app.AlertDialog +import android.app.Dialog import android.content.Context import android.graphics.Point import android.view.Gravity @@ -19,7 +20,6 @@ import de.baumann.browser.Ninja.databinding.DialogMenuContextListBinding import de.baumann.browser.database.Bookmark import de.baumann.browser.database.BookmarkManager import de.baumann.browser.preference.ConfigManager -import de.baumann.browser.unit.HelperUnit import de.baumann.browser.unit.ViewUnit import de.baumann.browser.view.NinjaToast import de.baumann.browser.view.adapter.BookmarkAdapter @@ -96,18 +96,9 @@ class BookmarkListDialog( } } - private suspend fun getFolderName(): String? { - return TextInputDialog( - context, - context.getString(R.string.folder_name), - context.getString(R.string.folder_name_description), - "" - ).show() - } - private fun createBookmarkFolder() { lifecycleScope.launch { - val folderName = getFolderName() + val folderName = dialogManager.getBookmarkFolderName() folderName?.let { bookmarkManager.insertDirectory(it) } } } @@ -174,61 +165,48 @@ class BookmarkListDialog( private fun showBookmarkContextMenu(bookmark: Bookmark) { val dialogView = DialogMenuContextListBinding.inflate(LayoutInflater.from(context)) - val dialog = dialogManager.showOptionDialog(dialogView.root) + val optionDialog = dialogManager.showOptionDialog(dialogView.root) if (bookmark.isDirectory) { - dialogView.menuContextListFav.visibility = View.GONE - dialogView.menuContextLinkSc.visibility = View.GONE dialogView.menuContextListNewTab.visibility = View.GONE dialogView.menuContextListNewTabOpen.visibility = View.GONE - dialogView.menuContextListFav.visibility = View.GONE dialogView.menuContextListSplitScreen.visibility = View.GONE } dialogView.menuContextListSplitScreen.setOnClickListener { - dialog.dismissWithAction { - splitScreenAction(bookmark.url) - dialog.dismiss() - } + optionDialog.dismissWithAction { splitScreenAction(bookmark.url) } } - dialogView.menuContextListEdit.visibility = View.VISIBLE - dialogView.menuContextListFav.setOnClickListener { - dialog.dismissWithAction { config.favoriteUrl = bookmark.url } - } - dialogView.menuContextLinkSc.setOnClickListener { - dialog.dismissWithAction { HelperUnit.createShortcut(context, bookmark.title, bookmark.url, null) } - } + dialogView.menuContextListEdit.visibility = VISIBLE dialogView.menuContextListNewTab.setOnClickListener { - dialog.dismissWithAction { + optionDialog.dismissWithAction { addTabAction(context.getString(R.string.app_name), bookmark.url, false) NinjaToast.show(context, context.getString(R.string.toast_new_tab_successful)) } } dialogView.menuContextListNewTabOpen.setOnClickListener { - dialog.dismissWithAction { - addTabAction(bookmark.title, bookmark.url, true) - dialog.dismiss() - } + optionDialog.dismissWithAction { addTabAction(bookmark.title, bookmark.url, true) } } dialogView.menuContextListDelete.setOnClickListener { - dialog.dismissWithAction { - lifecycleScope.launch { - bookmarkManager.delete(bookmark) - } - } + lifecycleScope.launch { bookmarkManager.delete(bookmark) } + optionDialog.dismiss() } dialogView.menuContextListEdit.setOnClickListener { - dialog.dismissWithAction { - BookmarkEditDialog( - context as Activity, - bookmarkManager, - bookmark, - { ViewUnit.hideKeyboard(context) }, - { ViewUnit.hideKeyboard(context) } - ).show() - } + BookmarkEditDialog( + context as Activity, + bookmarkManager, + bookmark, + { ViewUnit.hideKeyboard(context) }, + { ViewUnit.hideKeyboard(context) } + ).show() + optionDialog.dismiss() } } + + private fun Dialog.dismissWithAction(action: () -> Unit) { + dismiss() + dialog.dismiss() + action() + } } \ No newline at end of file diff --git a/app/src/main/java/de/baumann/browser/view/dialog/DialogManager.kt b/app/src/main/java/de/baumann/browser/view/dialog/DialogManager.kt index bfe4fa1c2..75052b947 100644 --- a/app/src/main/java/de/baumann/browser/view/dialog/DialogManager.kt +++ b/app/src/main/java/de/baumann/browser/view/dialog/DialogManager.kt @@ -195,6 +195,14 @@ class DialogManager( dialog.show() return dialog } + + suspend fun getBookmarkFolderName(): String? = + TextInputDialog( + activity, + activity.getString(R.string.folder_name), + activity.getString(R.string.folder_name_description), + "" + ).show() } fun Dialog.dismissWithAction(action: () -> Unit) { diff --git a/app/src/main/java/de/baumann/browser/view/dialog/ToolbarConfigDialog.kt b/app/src/main/java/de/baumann/browser/view/dialog/ToolbarConfigDialog.kt index f7f5f9a8e..cf09fd237 100644 --- a/app/src/main/java/de/baumann/browser/view/dialog/ToolbarConfigDialog.kt +++ b/app/src/main/java/de/baumann/browser/view/dialog/ToolbarConfigDialog.kt @@ -75,7 +75,7 @@ class ToolbarConfigDialog( } val controller = DragSortController(listView).apply { - setDragHandleId(R.id.drag_handle) + setDragHandleId(R.id.middle_drag_handle) isRemoveEnabled = false isSortEnabled = true setBackgroundColor(0xFFFFFF) diff --git a/app/src/main/java/de/baumann/browser/view/viewControllers/OverviewDialogController.kt b/app/src/main/java/de/baumann/browser/view/viewControllers/OverviewDialogController.kt index c6295ab71..7241fa71f 100644 --- a/app/src/main/java/de/baumann/browser/view/viewControllers/OverviewDialogController.kt +++ b/app/src/main/java/de/baumann/browser/view/viewControllers/OverviewDialogController.kt @@ -272,12 +272,6 @@ class OverviewDialogController( with (dialogView) { menuContextListEdit.visibility = GONE - menuContextListFav.setOnClickListener { - dialog.dismissWithAction { config.favoriteUrl = url } - } - menuContextLinkSc.setOnClickListener { - dialog.dismissWithAction { HelperUnit.createShortcut(context, title, url, null) } - } menuContextListNewTab.setOnClickListener { dialog.dismissWithAction { addTabAction(context.getString(R.string.app_name), url, false) diff --git a/app/src/main/res/drawable/check_green.xml b/app/src/main/res/drawable/check_green.xml deleted file mode 100755 index f478fbf73..000000000 --- a/app/src/main/res/drawable/check_green.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_new_window.xml b/app/src/main/res/drawable/ic_new_window.xml deleted file mode 100644 index bbc546cc4..000000000 --- a/app/src/main/res/drawable/ic_new_window.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/app/src/main/res/layout/dialog_edit_title.xml b/app/src/main/res/layout/dialog_edit_title.xml deleted file mode 100755 index cb744962f..000000000 --- a/app/src/main/res/layout/dialog_edit_title.xml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - -