From 976b48e9e7777e03e7bd36e0f99a8752aa06a337 Mon Sep 17 00:00:00 2001 From: Mert Tümer Date: Wed, 24 Jan 2018 15:22:22 +0300 Subject: [Pardus] tdf#112482 ability to add slides to impress MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch is sponsored by ULAKBIM/PARDUS project. Signed-off-by: Mert Tümer Change-Id: I3c8b55d032604b30117573ac447776a1a0e5205f Reviewed-on: https://gerrit.libreoffice.org/48500 Tested-by: Jenkins Reviewed-by: Thorsten Behrens --- .../source/src/java/org/libreoffice/LOKitTileProvider.java | 14 ++++++++++++++ .../src/java/org/libreoffice/LibreOfficeMainActivity.java | 6 ++++++ .../source/src/java/org/libreoffice/ToolbarController.java | 3 +++ 3 files changed, 23 insertions(+) (limited to 'android/source/src') diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java b/android/source/src/java/org/libreoffice/LOKitTileProvider.java index a68f65221795..e7b80782f0b8 100644 --- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java @@ -114,6 +114,7 @@ class LOKitTileProvider implements TileProvider { if (mDocument.getDocumentType() == Document.DOCTYPE_PRESENTATION) { mContext.getToolbarController().disableMenuItem(R.id.action_presentation, false); + mContext.getToolbarController().disableMenuItem(R.id.action_add_slide, false); } // Writer documents always have one part, so hide the navigation drawer. @@ -160,6 +161,19 @@ class LOKitTileProvider implements TileProvider { }); } + public void addPart(){ + int parts = mDocument.getParts(); + LOKitShell.sendEvent(new LOEvent(LOEvent.UNO_COMMAND, ".uno:InsertPage")); + String partName = mDocument.getPartName(parts); + if (partName.isEmpty()) { + partName = getGenericPartName(parts); + } + mDocument.setPart(parts); + resetDocumentSize(); + final DocumentPartView partView = new DocumentPartView(parts, partName); + mContext.getDocumentPartView().add(partView); + } + @Override public void saveDocumentAs(String filePath, String format) { final String newFilePath = "file://" + filePath; diff --git a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java index 0b3f8b8e0e06..91722fa98d35 100644 --- a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -685,6 +685,12 @@ public class LibreOfficeMainActivity extends AppCompatActivity implements Settin aboutDialogFragment.show(getSupportFragmentManager(), "AboutDialogFragment"); } + public void addSlide(){ + mTileProvider.addPart(); + mDocumentPartViewListAdapter.notifyDataSetChanged(); + setDocumentChanged(true); + } + public void showSettings() { startActivity(new Intent(getApplicationContext(), SettingsActivity.class)); } diff --git a/android/source/src/java/org/libreoffice/ToolbarController.java b/android/source/src/java/org/libreoffice/ToolbarController.java index 9ef994d271a9..b8faae379f83 100644 --- a/android/source/src/java/org/libreoffice/ToolbarController.java +++ b/android/source/src/java/org/libreoffice/ToolbarController.java @@ -135,6 +135,9 @@ public class ToolbarController implements Toolbar.OnMenuItemClickListener { case R.id.action_presentation: mContext.preparePresentation(); return true; + case R.id.action_add_slide: + mContext.addSlide(); + return true; } return false; } -- cgit