@@ -36,6 +36,7 @@ import com.orgzly.android.usecase.BookDelete
36
36
import com.orgzly.android.util.LogUtils
37
37
import com.orgzly.android.util.MiscUtils
38
38
import com.orgzly.databinding.DialogBookDeleteBinding
39
+ import com.orgzly.databinding.DialogBookDiffBinding
39
40
import com.orgzly.databinding.DialogBookRenameBinding
40
41
import com.orgzly.databinding.FragmentBooksBinding
41
42
import javax.inject.Inject
@@ -197,6 +198,10 @@ class BooksFragment : Fragment(), Fab, DrawerItem, OnViewHolderClickListener<Boo
197
198
viewModel.deleteBookRequest(bookId)
198
199
}
199
200
201
+ R .id.books_context_menu_show_diff -> {
202
+ viewModel.diffBookRequest(bookId)
203
+ }
204
+
200
205
else -> {
201
206
}
202
207
}
@@ -282,6 +287,28 @@ class BooksFragment : Fragment(), Fab, DrawerItem, OnViewHolderClickListener<Boo
282
287
dialog = builder.show()
283
288
}
284
289
290
+ private fun showBookDiffDialog (book : BookView ) {
291
+ val dialogBinding = DialogBookDiffBinding .inflate(LayoutInflater .from(context))
292
+
293
+ dialogBinding.book.setText(" Local book" )
294
+ dialogBinding.rook.setText(" Remote book" )
295
+
296
+
297
+ val dialogBuilder = AlertDialog .Builder (context)
298
+ .setTitle(getString(R .string.rename_book, MiscUtils .quotedString(book.book.name)))
299
+ .setView(dialogBinding.root)
300
+
301
+ val d = dialogBuilder.create()
302
+
303
+ d.setOnDismissListener { ActivityUtils .closeSoftKeyboard(activity) }
304
+
305
+ d.show()
306
+
307
+ d.getButton(AlertDialog .BUTTON_POSITIVE ).isEnabled = false
308
+
309
+ dialog = d
310
+ }
311
+
285
312
private fun renameBookDialog (book : BookView ) {
286
313
val dialogBinding = DialogBookRenameBinding .inflate(LayoutInflater .from(context))
287
314
@@ -383,6 +410,13 @@ class BooksFragment : Fragment(), Fab, DrawerItem, OnViewHolderClickListener<Boo
383
410
}
384
411
})
385
412
413
+ viewModel.bookDiffRequestEvent.observeSingle(viewLifecycleOwner, Observer { bookView ->
414
+ if (bookView != null ) {
415
+ showBookDiffDialog(bookView)
416
+ }
417
+ })
418
+
419
+
386
420
viewModel.bookExportRequestEvent.observeSingle(viewLifecycleOwner, Observer { (book, format) ->
387
421
listener?.onBookExportRequest(book, format)
388
422
})
0 commit comments