/* * Locations where applications can place persistent files it owns. * E.g., /storage/org.app/Music */ static QString getExternalFilesDir(const char *directoryField = 0) { QString &path = (*androidDirCache)[QString(QLatin1String("APPNAME_%1")).arg(QLatin1String(directoryField))]; if (!path.isEmpty()) return path; QJNIObjectPrivate activity = QtAndroidPrivate::activity(); if (!activity.isValid()) return QString(); QJNIObjectPrivate appCtx = applicationContext(); if (!appCtx.isValid()) return QString(); QJNIObjectPrivate dirField = QJNIObjectPrivate::fromString(QLatin1String("")); if (directoryField) { dirField = QJNIObjectPrivate::getStaticObjectField("android/os/Environment", directoryField, "Ljava/lang/String;"); if (!dirField.isValid()) return QString(); } QJNIObjectPrivate file = appCtx.callObjectMethod("getExternalFilesDir", "(Ljava/lang/String;)Ljava/io/File;", dirField.object()); if (!file.isValid()) return QString(); return (path = getAbsolutePath(file)); }
//------------------------------------------------------------------------- bool CloseFileGuiCommand::closeCurrentFile () { QSharedPointer<FileContext> current_file_context = applicationContext()->getCurrentFileContext(); if (current_file_context.isNull()) return true; if (current_file_context->getState () == FILE_STATE_CHANGED) { QString file_name = current_file_context->getFileName (); QMessageBox::StandardButton pressed_button = QMessageBox::question (0, tr("Really close?"), tr("Changes in '%1' are not saved!!").arg(file_name) + "\n" + tr("Really close?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (pressed_button == QMessageBox::No) return false; } applicationContext()->getMainWindowModel ()->closeCurrentFileTabs (); applicationContext()->removeCurrentFileContext (); return true; }
/* * Directory where applications can store cache files it owns (private). */ static QString getCacheDir() { QString &path = (*androidDirCache)[QStringLiteral("APPROOT_CACHE")]; if (!path.isEmpty()) return path; QJNIObjectPrivate appCtx = applicationContext(); if (!appCtx.isValid()) return QString(); QJNIObjectPrivate file = appCtx.callObjectMethod("getCacheDir", "()Ljava/io/File;"); if (!file.isValid()) return QString(); return (path = getAbsolutePath(file)); }
//----------------------------------------------------------------------------- void UndoRedoGuiCommand::redo () { applicationContext()->getCurrentCommandExecuter()->redo(); }