diff --git a/app/build.gradle b/app/build.gradle index 8817da0..f29092c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -69,4 +69,5 @@ dependencies { compile 'com.android.support:support-v13:24.1.0' compile project(':img-selector') compile 'com.facebook.stetho:stetho:1.4.1' + compile 'com.github.houxg:FlexLayout:1.2' } diff --git a/app/src/main/java/org/houxg/leanotelite/editor/Editor.java b/app/src/main/java/org/houxg/leanotelite/editor/Editor.java index 50bcb6b..14ef1ca 100644 --- a/app/src/main/java/org/houxg/leanotelite/editor/Editor.java +++ b/app/src/main/java/org/houxg/leanotelite/editor/Editor.java @@ -45,6 +45,10 @@ public abstract class Editor { public abstract void updateLink(String title, String url); + public abstract void redo(); + + public abstract void undo(); + public abstract void toggleOrderList(); public abstract void toggleUnorderList(); diff --git a/app/src/main/java/org/houxg/leanotelite/editor/MarkdownEditor.java b/app/src/main/java/org/houxg/leanotelite/editor/MarkdownEditor.java index 58422d7..df4086c 100644 --- a/app/src/main/java/org/houxg/leanotelite/editor/MarkdownEditor.java +++ b/app/src/main/java/org/houxg/leanotelite/editor/MarkdownEditor.java @@ -86,6 +86,16 @@ public class MarkdownEditor extends Editor { execJs(String.format(Locale.US, "ZSSEditor.updateLink('%s', '%s');", url, title)); } + @Override + public void redo() { + execJs("MD.undoMgr.redo()"); + } + + @Override + public void undo() { + execJs("MD.undoMgr.undo()"); + } + @Override public void toggleOrderList() { execJs("ZSSEditor.setOrderedList();"); diff --git a/app/src/main/java/org/houxg/leanotelite/editor/RichTextEditor.java b/app/src/main/java/org/houxg/leanotelite/editor/RichTextEditor.java index ba4ee80..9b178a5 100644 --- a/app/src/main/java/org/houxg/leanotelite/editor/RichTextEditor.java +++ b/app/src/main/java/org/houxg/leanotelite/editor/RichTextEditor.java @@ -2,6 +2,7 @@ package org.houxg.leanotelite.editor; import android.annotation.SuppressLint; +import android.text.TextUtils; import android.util.Log; import android.webkit.WebChromeClient; import android.webkit.WebView; @@ -95,6 +96,16 @@ public class RichTextEditor extends Editor implements OnJsEditorStateChangedList execJs(String.format(Locale.US, "ZSSEditor.updateLink('%s', '%s');", url, title)); } + @Override + public void redo() { + execJs("ZSSEditor.redo();"); + } + + @Override + public void undo() { + execJs("ZSSEditor.undo();"); + } + @Override public void toggleOrderList() { execJs("ZSSEditor.setOrderedList();"); diff --git a/app/src/main/java/org/houxg/leanotelite/ui/edit/EditorFragment.java b/app/src/main/java/org/houxg/leanotelite/ui/edit/EditorFragment.java index a81edee..ce565d4 100644 --- a/app/src/main/java/org/houxg/leanotelite/ui/edit/EditorFragment.java +++ b/app/src/main/java/org/houxg/leanotelite/ui/edit/EditorFragment.java @@ -44,7 +44,7 @@ public class EditorFragment extends Fragment implements Editor.EditorListener { private EditorFragmentListener mListener; private Editor mEditor; - @BindView(R.id.ll_tools) + @BindView(R.id.fl_tools) View mToolContainer; @BindView(R.id.btn_bold) @@ -201,6 +201,16 @@ public class EditorFragment extends Fragment implements Editor.EditorListener { mEditor.toggleItalic(); } + @OnClick(R.id.btn_undo) + void undo() { + mEditor.undo(); + } + + @OnClick(R.id.btn_redo) + void redo() { + mEditor.redo(); + } + public void setEditingEnabled(boolean enabled) { mIsEditingEnabled = enabled; mEditor.setEditingEnabled(enabled); diff --git a/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_disable.png b/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_disable.png index e2858fa..3e411ad 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_disable.png and b/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_disable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_enable.png b/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_enable.png new file mode 100644 index 0000000..6454bde Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_insert_link_black_enable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_redo_black_disable.png b/app/src/main/res/drawable-xxhdpi/ic_redo_black_disable.png new file mode 100644 index 0000000..1c55e8d Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_redo_black_disable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_redo_black_enable.png b/app/src/main/res/drawable-xxhdpi/ic_redo_black_enable.png new file mode 100644 index 0000000..f83453f Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_redo_black_enable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_undo_black_disable.png b/app/src/main/res/drawable-xxhdpi/ic_undo_black_disable.png new file mode 100644 index 0000000..bfcacc4 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_undo_black_disable.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_undo_black_enable.png b/app/src/main/res/drawable-xxhdpi/ic_undo_black_enable.png new file mode 100644 index 0000000..ea63c38 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_undo_black_enable.png differ diff --git a/app/src/main/res/layout/fragment_editor.xml b/app/src/main/res/layout/fragment_editor.xml index 18023b1..5327c38 100755 --- a/app/src/main/res/layout/fragment_editor.xml +++ b/app/src/main/res/layout/fragment_editor.xml @@ -4,11 +4,12 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - - - - - - - - - - + + + + + + android:layout_above="@id/fl_tools" />