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" />