9package org.libreoffice;
11import android.content.ClipData;
12import android.content.ClipboardManager;
13import android.content.Context;
14import androidx.appcompat.widget.Toolbar;
15import android.util.Log;
16import android.view.KeyEvent;
17import android.view.Menu;
18import android.view.MenuItem;
19import android.widget.Toast;
33 ClipboardManager clipboardManager;
45 clipboardManager = (ClipboardManager)
mContext.getSystemService(Context.CLIPBOARD_SERVICE);
52 if (menuItem !=
null) {
53 menuItem.setEnabled(enabled);
72 void switchToEditMode() {
81 mMainMenu.setGroupVisible(
R.id.group_edit_actions,
true);
83 mMainMenu.findItem(
R.id.action_UNO_commands).setVisible(
false);
85 mMainMenu.findItem(
R.id.action_UNO_commands).setVisible(
true);
88 mMainMenu.setGroupVisible(
R.id.group_spreadsheet_options,
true);
90 mMainMenu.setGroupVisible(
R.id.group_presentation_options,
true);
101 void showClipboardActions(
final String value){
102 LOKitShell.getMainHandler().post(
new Runnable() {
106 mMainMenu.setGroupVisible(
R.id.group_edit_actions,
false);
107 mMainMenu.setGroupVisible(
R.id.group_edit_clipboard,
true);
109 showHideClipboardCutAndCopy(
true);
111 mMainMenu.findItem(
R.id.action_cut).setVisible(
false);
112 mMainMenu.findItem(
R.id.action_paste).setVisible(
false);
120 void hideClipboardActions(){
121 LOKitShell.getMainHandler().post(
new Runnable() {
125 mMainMenu.setGroupVisible(
R.id.group_edit_clipboard,
false);
130 void showHideClipboardCutAndCopy(
final boolean option){
131 LOKitShell.getMainHandler().post(
new Runnable() {
134 mMainMenu.findItem(
R.id.action_copy).setVisible(option);
135 mMainMenu.findItem(
R.id.action_cut).setVisible(option);
143 void switchToViewMode() {
145 LOKitShell.getMainHandler().post(
new Runnable() {
148 mMainMenu.setGroupVisible(
R.id.group_edit_actions,
false);
155 mMainMenu.setGroupVisible(
R.id.group_spreadsheet_options,
false);
157 mMainMenu.setGroupVisible(
R.id.group_presentation_options,
false);
165 final int itemId = item.getItemId();
166 if (itemId ==
R.id.action_keyboard) {
168 }
else if (itemId ==
R.id.action_format) {
170 }
else if (itemId ==
R.id.action_about) {
173 }
else if (itemId ==
R.id.action_save) {
176 }
else if (itemId ==
R.id.action_save_as) {
179 }
else if (itemId ==
R.id.action_parts) {
182 }
else if (itemId ==
R.id.action_exportToPDF) {
185 }
else if (itemId ==
R.id.action_print) {
188 }
else if (itemId ==
R.id.action_settings) {
191 }
else if (itemId ==
R.id.action_search) {
194 }
else if (itemId ==
R.id.action_undo) {
197 }
else if (itemId ==
R.id.action_redo) {
200 }
else if (itemId ==
R.id.action_presentation) {
203 }
else if (itemId ==
R.id.action_add_slide || itemId ==
R.id.action_add_worksheet) {
206 }
else if (itemId ==
R.id.action_rename_worksheet || itemId ==
R.id.action_rename_slide) {
209 }
else if (itemId ==
R.id.action_delete_worksheet || itemId ==
R.id.action_delete_slide) {
212 }
else if (itemId ==
R.id.action_back) {
213 hideClipboardActions();
215 }
else if (itemId ==
R.id.action_copy) {
217 clipData = ClipData.newPlainText(
"clipboard data",
clipboardText);
218 clipboardManager.setPrimaryClip(clipData);
219 Toast.makeText(
mContext,
mContext.getResources().getString(
R.string.action_text_copied), Toast.LENGTH_SHORT).show();
221 }
else if (itemId ==
R.id.action_paste) {
222 clipData = clipboardManager.getPrimaryClip();
223 ClipData.Item clipItem = clipData.getItemAt(0);
226 }
else if (itemId ==
R.id.action_cut) {
227 clipData = ClipData.newPlainText(
"clipboard data",
clipboardText);
228 clipboardManager.setPrimaryClip(clipData);
232 }
else if (itemId ==
R.id.action_UNO_commands) {
239 void setupToolbars() {
246 Toast.makeText(
mContext,
mContext.getString(
R.string.readonly_file), Toast.LENGTH_LONG).show();
258 mMainMenu.findItem(item).setVisible(
true);
268 mMainMenu.findItem(item).setVisible(
false);
Events and data that is queued and processed by LOKitThread.
static final int UNO_COMMAND
Common static LOKit functions, functions to send events.
static boolean isEditingEnabled()
static void sendEvent(LOEvent event)
Make sure LOKitThread is running and send event to it.
static void sendKeyEvent(KeyEvent event)
Send key event to LOKitThread.
static Handler getMainHandler()
Main activity of the LibreOffice App.
void showFormattingToolbar()
static boolean isReadOnlyMode()
void showSoftKeyboard()
Show software keyboard.
static boolean isDeveloperMode()
static void setDocumentChanged(boolean changed)
boolean isDrawerEnabled()
boolean hasLocationForSave()
LOKitTileProvider getTileProvider()
void saveDocumentAs()
Open file chooser and save the document to the URI selected there.
static boolean isExperimentalMode()
void showUNOCommandsToolbar()
void preparePresentation()
void hideSoftKeyboard()
Hides software keyboard on UI thread.
def run(arg=None, arg2=-1)