commit
9277e33a10
48 changed files with 493 additions and 264 deletions
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -1,6 +1,19 @@
|
|||
Changelog
|
||||
==========
|
||||
|
||||
Version 2.11.1 *(2017-06-19)*
|
||||
----------------------------
|
||||
|
||||
* Fixed a crash at starting video
|
||||
|
||||
Version 2.11.0 *(2017-06-18)*
|
||||
----------------------------
|
||||
|
||||
* Store column count separately for portrait and landscape modes
|
||||
* Improve zooming at double taping fullscreen images
|
||||
* Allow opening a third party editor from our Editor screen
|
||||
* Many crashfixes and smaller improvements
|
||||
|
||||
Version 2.10.10 *(2017-06-07)*
|
||||
----------------------------
|
||||
|
||||
|
|
|
@ -10,8 +10,8 @@ android {
|
|||
applicationId "com.simplemobiletools.gallery"
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 23
|
||||
versionCode 109
|
||||
versionName "2.10.10"
|
||||
versionCode 111
|
||||
versionName "2.11.1"
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
|
@ -32,7 +32,7 @@ android {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
compile 'com.simplemobiletools:commons:2.20.1'
|
||||
compile 'com.simplemobiletools:commons:2.21.4'
|
||||
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.6.0'
|
||||
compile 'com.theartofdev.edmodo:android-image-cropper:2.4.0'
|
||||
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
|
||||
|
@ -47,7 +47,7 @@ dependencies {
|
|||
}
|
||||
|
||||
buildscript {
|
||||
ext.kotlin_version = '1.1.2-3'
|
||||
ext.kotlin_version = '1.1.2-5'
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
|
|
|
@ -18,11 +18,11 @@ import com.simplemobiletools.gallery.R
|
|||
import com.simplemobiletools.gallery.dialogs.ResizeDialog
|
||||
import com.simplemobiletools.gallery.dialogs.SaveAsDialog
|
||||
import com.simplemobiletools.gallery.extensions.getRealPathFromURI
|
||||
import com.simplemobiletools.gallery.extensions.openEditor
|
||||
import com.theartofdev.edmodo.cropper.CropImageView
|
||||
import kotlinx.android.synthetic.main.view_crop_image.*
|
||||
import java.io.*
|
||||
|
||||
|
||||
class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener {
|
||||
val TAG = EditActivity::class.java.simpleName
|
||||
val ASPECT_X = "aspectX"
|
||||
|
@ -33,6 +33,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
|
|||
var resizeWidth = 0
|
||||
var resizeHeight = 0
|
||||
var isCropIntent = false
|
||||
var isEditingWithThirdParty = false
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -62,6 +63,17 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
|
|||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
isEditingWithThirdParty = false
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
super.onStop()
|
||||
if (isEditingWithThirdParty)
|
||||
finish()
|
||||
}
|
||||
|
||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
menuInflater.inflate(R.menu.menu_editor, menu)
|
||||
menu.findItem(R.id.resize).isVisible = !isCropIntent
|
||||
|
@ -75,6 +87,7 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
|
|||
R.id.resize -> resizeImage()
|
||||
R.id.flip_horizontally -> flipImage(true)
|
||||
R.id.flip_vertically -> flipImage(false)
|
||||
R.id.edit -> editWith()
|
||||
else -> return super.onOptionsItemSelected(item)
|
||||
}
|
||||
return true
|
||||
|
@ -189,6 +202,11 @@ class EditActivity : SimpleActivity(), CropImageView.OnCropImageCompleteListener
|
|||
crop_image_view.flipImageVertically()
|
||||
}
|
||||
|
||||
private fun editWith() {
|
||||
openEditor(uri, true)
|
||||
isEditingWithThirdParty = true
|
||||
}
|
||||
|
||||
private fun scanFinalPath(path: String) {
|
||||
scanPath(path) {
|
||||
setResult(Activity.RESULT_OK, intent)
|
||||
|
|
|
@ -14,6 +14,8 @@ import android.support.v4.app.ActivityCompat
|
|||
import android.support.v7.widget.GridLayoutManager
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import com.google.gson.Gson
|
||||
import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.models.Release
|
||||
|
@ -27,10 +29,7 @@ import com.simplemobiletools.gallery.helpers.*
|
|||
import com.simplemobiletools.gallery.models.Directory
|
||||
import com.simplemobiletools.gallery.views.MyScalableRecyclerView
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
import java.io.File
|
||||
import java.io.FileInputStream
|
||||
import java.io.InputStream
|
||||
import java.io.OutputStream
|
||||
import java.io.*
|
||||
import java.util.*
|
||||
|
||||
class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
||||
|
@ -51,6 +50,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
private var mIsGettingDirs = false
|
||||
private var mStoredAnimateGifs = true
|
||||
private var mStoredCropThumbnails = true
|
||||
private var mStoredScrollHorizontally = true
|
||||
private var mLoadedInitialPhotos = false
|
||||
private var mLastMediaModified = 0
|
||||
private var mLastMediaHandler = Handler()
|
||||
|
@ -74,6 +74,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
mDirs = ArrayList<Directory>()
|
||||
mStoredAnimateGifs = config.animateGifs
|
||||
mStoredCropThumbnails = config.cropThumbnails
|
||||
mStoredScrollHorizontally = config.scrollHorizontally
|
||||
storeStoragePaths()
|
||||
checkWhatsNewDialog()
|
||||
}
|
||||
|
@ -108,12 +109,18 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (mStoredAnimateGifs != config.animateGifs) {
|
||||
mDirs.clear()
|
||||
directories_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
if (mStoredCropThumbnails != config.cropThumbnails) {
|
||||
mDirs.clear()
|
||||
directories_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
if (mStoredScrollHorizontally != config.scrollHorizontally) {
|
||||
(directories_grid.adapter as DirectoryAdapter).scrollVertically = !config.scrollHorizontally
|
||||
directories_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
tryloadGallery()
|
||||
invalidateOptionsMenu()
|
||||
}
|
||||
|
@ -126,6 +133,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
mIsGettingDirs = false
|
||||
mStoredAnimateGifs = config.animateGifs
|
||||
mStoredCropThumbnails = config.cropThumbnails
|
||||
mStoredScrollHorizontally = config.scrollHorizontally
|
||||
MyScalableRecyclerView.mListener = null
|
||||
mLastMediaHandler.removeCallbacksAndMessages(null)
|
||||
}
|
||||
|
@ -141,7 +149,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
showAllMedia()
|
||||
else
|
||||
getDirectories()
|
||||
handleZooming()
|
||||
setupLayoutManager()
|
||||
checkIfColorChanged()
|
||||
} else {
|
||||
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), STORAGE_PERMISSION)
|
||||
|
@ -221,8 +229,16 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
|
||||
private fun getRecyclerAdapter() = (directories_grid.adapter as DirectoryAdapter)
|
||||
|
||||
private fun handleZooming() {
|
||||
private fun setupLayoutManager() {
|
||||
val layoutManager = directories_grid.layoutManager as GridLayoutManager
|
||||
if (config.scrollHorizontally) {
|
||||
layoutManager.orientation = GridLayoutManager.HORIZONTAL
|
||||
directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)
|
||||
} else {
|
||||
layoutManager.orientation = GridLayoutManager.VERTICAL
|
||||
directories_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
|
||||
}
|
||||
|
||||
layoutManager.spanCount = config.dirColumnCnt
|
||||
MyScalableRecyclerView.mListener = object : MyScalableRecyclerView.MyScalableRecyclerViewListener {
|
||||
override fun zoomIn() {
|
||||
|
@ -252,11 +268,13 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
private fun increaseColumnCount() {
|
||||
config.dirColumnCnt = ++(directories_grid.layoutManager as GridLayoutManager).spanCount
|
||||
invalidateOptionsMenu()
|
||||
directories_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
private fun reduceColumnCount() {
|
||||
config.dirColumnCnt = --(directories_grid.layoutManager as GridLayoutManager).spanCount
|
||||
invalidateOptionsMenu()
|
||||
directories_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
private fun isPickImageIntent(intent: Intent) = isPickIntent(intent) && (hasImageContentData(intent) || isImageType(intent))
|
||||
|
@ -302,6 +320,7 @@ class MainActivity : SimpleActivity(), DirectoryAdapter.DirOperationsListener {
|
|||
inputStream = FileInputStream(File(path))
|
||||
outputStream = contentResolver.openOutputStream(output)
|
||||
inputStream.copyTo(outputStream)
|
||||
} catch (ignored: FileNotFoundException) {
|
||||
} finally {
|
||||
inputStream?.close()
|
||||
outputStream?.close()
|
||||
|
|
|
@ -12,6 +12,8 @@ import android.support.v7.widget.GridLayoutManager
|
|||
import android.util.Log
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.ViewGroup
|
||||
import android.widget.FrameLayout
|
||||
import com.bumptech.glide.Glide
|
||||
import com.bumptech.glide.request.animation.GlideAnimation
|
||||
import com.bumptech.glide.request.target.SimpleTarget
|
||||
|
@ -46,6 +48,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
private var mLoadedInitialPhotos = false
|
||||
private var mStoredAnimateGifs = true
|
||||
private var mStoredCropThumbnails = true
|
||||
private var mStoredScrollHorizontally = true
|
||||
private var mLastDrawnHashCode = 0
|
||||
private var mLastMediaModified = 0
|
||||
private var mLastMediaHandler = Handler()
|
||||
|
@ -67,6 +70,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
mPath = intent.getStringExtra(DIRECTORY)
|
||||
mStoredAnimateGifs = config.animateGifs
|
||||
mStoredCropThumbnails = config.cropThumbnails
|
||||
mStoredScrollHorizontally = config.scrollHorizontally
|
||||
mShowAll = config.showAll
|
||||
if (mShowAll)
|
||||
supportActionBar?.setDisplayHomeAsUpEnabled(false)
|
||||
|
@ -75,12 +79,18 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (mShowAll && mStoredAnimateGifs != config.animateGifs) {
|
||||
mMedia.clear()
|
||||
media_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
if (mStoredCropThumbnails != config.cropThumbnails) {
|
||||
mMedia.clear()
|
||||
media_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
if (mStoredScrollHorizontally != config.scrollHorizontally) {
|
||||
(media_grid.adapter as MediaAdapter).scrollVertically = !config.scrollHorizontally
|
||||
media_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
tryloadGallery()
|
||||
invalidateOptionsMenu()
|
||||
}
|
||||
|
@ -91,13 +101,15 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
media_refresh_layout.isRefreshing = false
|
||||
mStoredAnimateGifs = config.animateGifs
|
||||
mStoredCropThumbnails = config.cropThumbnails
|
||||
mStoredScrollHorizontally = config.scrollHorizontally
|
||||
MyScalableRecyclerView.mListener = null
|
||||
mLastMediaHandler.removeCallbacksAndMessages(null)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
config.temporarilyShowHidden = false
|
||||
if (config.showAll)
|
||||
config.temporarilyShowHidden = false
|
||||
mMedia.clear()
|
||||
}
|
||||
|
||||
|
@ -106,7 +118,7 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
val dirName = getHumanizedFilename(mPath)
|
||||
title = if (mShowAll) resources.getString(R.string.all_folders) else dirName
|
||||
getMedia()
|
||||
handleZooming()
|
||||
setupLayoutManager()
|
||||
checkIfColorChanged()
|
||||
} else {
|
||||
finish()
|
||||
|
@ -293,8 +305,16 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
|
||||
private fun getRecyclerAdapter() = (media_grid.adapter as MediaAdapter)
|
||||
|
||||
private fun handleZooming() {
|
||||
private fun setupLayoutManager() {
|
||||
val layoutManager = media_grid.layoutManager as GridLayoutManager
|
||||
if (config.scrollHorizontally) {
|
||||
layoutManager.orientation = GridLayoutManager.HORIZONTAL
|
||||
media_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT)
|
||||
} else {
|
||||
layoutManager.orientation = GridLayoutManager.VERTICAL
|
||||
media_refresh_layout.layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
|
||||
}
|
||||
|
||||
layoutManager.spanCount = config.mediaColumnCnt
|
||||
MyScalableRecyclerView.mListener = object : MyScalableRecyclerView.MyScalableRecyclerViewListener {
|
||||
override fun zoomIn() {
|
||||
|
@ -324,11 +344,13 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
private fun increaseColumnCount() {
|
||||
config.mediaColumnCnt = ++(media_grid.layoutManager as GridLayoutManager).spanCount
|
||||
invalidateOptionsMenu()
|
||||
media_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
private fun reduceColumnCount() {
|
||||
config.mediaColumnCnt = --(media_grid.layoutManager as GridLayoutManager).spanCount
|
||||
invalidateOptionsMenu()
|
||||
media_grid.adapter.notifyDataSetChanged()
|
||||
}
|
||||
|
||||
private fun isSetWallpaperIntent() = intent.getBooleanExtra(SET_WALLPAPER_INTENT, false)
|
||||
|
|
|
@ -129,18 +129,21 @@ open class PhotoVideoActivity : SimpleActivity(), ViewPagerFragment.FragmentList
|
|||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||
menuInflater.inflate(R.menu.photo_video_menu, menu)
|
||||
|
||||
menu.findItem(R.id.menu_set_as_wallpaper).isVisible = mMedium?.isImage() == true
|
||||
menu.findItem(R.id.menu_set_as).isVisible = mMedium?.isImage() == true
|
||||
menu.findItem(R.id.menu_edit).isVisible = mMedium?.isImage() == true
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
||||
if (mMedium == null)
|
||||
return true
|
||||
|
||||
when (item.itemId) {
|
||||
R.id.menu_set_as_wallpaper -> trySetAsWallpaper(File(mMedium!!.path))
|
||||
R.id.menu_set_as -> trySetAs(File(mMedium!!.path))
|
||||
R.id.menu_open_with -> openWith(File(mMedium!!.path))
|
||||
R.id.menu_share -> shareUri(mMedium!!, mUri)
|
||||
R.id.menu_edit -> openEditor(File(mMedium!!.path))
|
||||
R.id.menu_edit -> openFileEditor(File(mMedium!!.path))
|
||||
else -> return super.onOptionsItemSelected(item)
|
||||
}
|
||||
return true
|
||||
|
|
|
@ -33,6 +33,7 @@ class SettingsActivity : SimpleActivity() {
|
|||
setupMaxBrightness()
|
||||
setupCropThumbnails()
|
||||
setupDarkBackground()
|
||||
setupScrollHorizontally()
|
||||
setupScreenRotation()
|
||||
setupShowMedia()
|
||||
updateTextColors(settings_holder)
|
||||
|
@ -112,6 +113,14 @@ class SettingsActivity : SimpleActivity() {
|
|||
}
|
||||
}
|
||||
|
||||
private fun setupScrollHorizontally() {
|
||||
settings_scroll_horizontally.isChecked = config.scrollHorizontally
|
||||
settings_scroll_horizontally_holder.setOnClickListener {
|
||||
settings_scroll_horizontally.toggle()
|
||||
config.scrollHorizontally = settings_scroll_horizontally.isChecked
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupScreenRotation() {
|
||||
settings_screen_rotation.text = getScreenRotationText()
|
||||
settings_screen_rotation_holder.setOnClickListener {
|
||||
|
|
|
@ -176,7 +176,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
return true
|
||||
|
||||
menu.apply {
|
||||
findItem(R.id.menu_set_as_wallpaper).isVisible = getCurrentMedium()!!.isImage() == true
|
||||
findItem(R.id.menu_set_as).isVisible = getCurrentMedium()!!.isImage() == true
|
||||
findItem(R.id.menu_edit).isVisible = getCurrentMedium()!!.isImage() == true
|
||||
findItem(R.id.menu_rotate).isVisible = getCurrentMedium()!!.isImage() == true
|
||||
findItem(R.id.menu_save_as).isVisible = mRotationDegrees != 0f
|
||||
|
@ -199,7 +199,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
return true
|
||||
|
||||
when (item.itemId) {
|
||||
R.id.menu_set_as_wallpaper -> trySetAsWallpaper(getCurrentFile())
|
||||
R.id.menu_set_as -> trySetAs(getCurrentFile())
|
||||
R.id.menu_copy_to -> copyMoveTo(true)
|
||||
R.id.menu_move_to -> copyMoveTo(false)
|
||||
R.id.menu_open_with -> openWith(getCurrentFile())
|
||||
|
@ -208,7 +208,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
R.id.menu_share -> shareMedium(getCurrentMedium()!!)
|
||||
R.id.menu_delete -> askConfirmDelete()
|
||||
R.id.menu_rename -> renameFile()
|
||||
R.id.menu_edit -> openEditor(getCurrentFile())
|
||||
R.id.menu_edit -> openFileEditor(getCurrentFile())
|
||||
R.id.menu_properties -> showProperties()
|
||||
R.id.menu_save_as -> saveImageAs()
|
||||
R.id.show_on_map -> showOnMap()
|
||||
|
@ -228,6 +228,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
adapter = pagerAdapter
|
||||
currentItem = mPos
|
||||
addOnPageChangeListener(this@ViewPagerActivity)
|
||||
adapter!!.notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -377,7 +378,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
|||
mPos = -1
|
||||
reloadViewPager()
|
||||
}
|
||||
} else if (requestCode == REQUEST_SET_WALLPAPER) {
|
||||
} else if (requestCode == REQUEST_SET_AS) {
|
||||
if (resultCode == Activity.RESULT_OK) {
|
||||
toast(R.string.wallpaper_set_successfully)
|
||||
}
|
||||
|
|
|
@ -41,6 +41,7 @@ class DirectoryAdapter(val activity: SimpleActivity, var dirs: MutableList<Direc
|
|||
val selectedPositions = HashSet<Int>()
|
||||
var foregroundColor = 0
|
||||
var pinnedFolders = config.pinnedFolders
|
||||
var scrollVertically = !config.scrollHorizontally
|
||||
|
||||
fun toggleItemSelection(select: Boolean, pos: Int) {
|
||||
if (itemViews[pos] != null)
|
||||
|
@ -294,9 +295,11 @@ class DirectoryAdapter(val activity: SimpleActivity, var dirs: MutableList<Direc
|
|||
|
||||
var needPermissionForPath = ""
|
||||
selectedPositions.forEach {
|
||||
val path = dirs[it].path
|
||||
if (activity.needsStupidWritePermissions(path) && config.treeUri.isEmpty()) {
|
||||
needPermissionForPath = path
|
||||
if (dirs.size > it) {
|
||||
val path = dirs[it].path
|
||||
if (activity.needsStupidWritePermissions(path) && config.treeUri.isEmpty()) {
|
||||
needPermissionForPath = path
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -359,12 +362,12 @@ class DirectoryAdapter(val activity: SimpleActivity, var dirs: MutableList<Direc
|
|||
|
||||
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder {
|
||||
val view = LayoutInflater.from(parent?.context).inflate(R.layout.directory_item, parent, false)
|
||||
return ViewHolder(view, adapterListener, itemClick)
|
||||
return ViewHolder(view, adapterListener, activity, multiSelectorMode, multiSelector, listener, itemClick)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
val dir = dirs[position]
|
||||
itemViews.put(position, holder.bindView(activity, multiSelectorMode, multiSelector, dir, pinnedFolders.contains(dir.path), listener))
|
||||
itemViews.put(position, holder.bindView(dir, pinnedFolders.contains(dir.path), scrollVertically))
|
||||
toggleItemSelection(selectedPositions.contains(position), position)
|
||||
holder.itemView.tag = holder
|
||||
}
|
||||
|
@ -420,34 +423,25 @@ class DirectoryAdapter(val activity: SimpleActivity, var dirs: MutableList<Direc
|
|||
}
|
||||
}
|
||||
|
||||
class ViewHolder(val view: View, val adapter: MyAdapterListener, val itemClick: (Directory) -> (Unit)) : SwappingHolder(view, MultiSelector()) {
|
||||
fun bindView(activity: SimpleActivity, multiSelectorCallback: ModalMultiSelectorCallback, multiSelector: MultiSelector, directory: Directory,
|
||||
isPinned: Boolean, listener: DirOperationsListener?): View {
|
||||
class ViewHolder(val view: View, val adapter: MyAdapterListener, val activity: SimpleActivity, val multiSelectorCallback: ModalMultiSelectorCallback,
|
||||
val multiSelector: MultiSelector, val listener: DirOperationsListener?, val itemClick: (Directory) -> (Unit)) :
|
||||
SwappingHolder(view, MultiSelector()) {
|
||||
fun bindView(directory: Directory, isPinned: Boolean, scrollVertically: Boolean): View {
|
||||
itemView.apply {
|
||||
dir_name.text = directory.name
|
||||
photo_cnt.text = directory.mediaCnt.toString()
|
||||
dir_pin.visibility = if (isPinned) View.VISIBLE else View.GONE
|
||||
activity.loadImage(directory.tmb, dir_thumbnail)
|
||||
activity.loadImage(directory.tmb, dir_thumbnail, scrollVertically)
|
||||
|
||||
setOnClickListener { viewClicked(multiSelector, directory) }
|
||||
setOnLongClickListener {
|
||||
if (listener != null) {
|
||||
if (!multiSelector.isSelectable) {
|
||||
activity.startSupportActionMode(multiSelectorCallback)
|
||||
adapter.toggleItemSelectionAdapter(true, layoutPosition)
|
||||
}
|
||||
|
||||
listener.itemLongClicked(layoutPosition)
|
||||
}
|
||||
true
|
||||
}
|
||||
setOnClickListener { viewClicked(directory) }
|
||||
setOnLongClickListener { viewLongClicked(); true }
|
||||
|
||||
adapter.setupItemForeground(this)
|
||||
}
|
||||
return itemView
|
||||
}
|
||||
|
||||
fun viewClicked(multiSelector: MultiSelector, directory: Directory) {
|
||||
fun viewClicked(directory: Directory) {
|
||||
if (multiSelector.isSelectable) {
|
||||
val isSelected = adapter.getSelectedPositions().contains(layoutPosition)
|
||||
adapter.toggleItemSelectionAdapter(!isSelected, layoutPosition)
|
||||
|
@ -456,6 +450,17 @@ class DirectoryAdapter(val activity: SimpleActivity, var dirs: MutableList<Direc
|
|||
}
|
||||
}
|
||||
|
||||
fun viewLongClicked() {
|
||||
if (listener != null) {
|
||||
if (!multiSelector.isSelectable) {
|
||||
activity.startSupportActionMode(multiSelectorCallback)
|
||||
adapter.toggleItemSelectionAdapter(true, layoutPosition)
|
||||
}
|
||||
|
||||
listener.itemLongClicked(layoutPosition)
|
||||
}
|
||||
}
|
||||
|
||||
fun stopLoad() {
|
||||
Glide.clear(view.dir_thumbnail)
|
||||
}
|
||||
|
|
|
@ -34,6 +34,7 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
|||
val selectedPositions = HashSet<Int>()
|
||||
var foregroundColor = 0
|
||||
var displayFilenames = config.displayFileNames
|
||||
var scrollVertically = !config.scrollHorizontally
|
||||
|
||||
fun toggleItemSelection(select: Boolean, pos: Int) {
|
||||
if (itemViews[pos] != null)
|
||||
|
@ -120,7 +121,7 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
|||
|
||||
override fun onPrepareActionMode(actionMode: ActionMode?, menu: Menu): Boolean {
|
||||
menu.findItem(R.id.cab_rename).isVisible = selectedPositions.size <= 1
|
||||
menu.findItem(R.id.cab_edit).isVisible = selectedPositions.size == 1 && media[selectedPositions.first()].isImage()
|
||||
menu.findItem(R.id.cab_edit).isVisible = selectedPositions.size == 1 && media.size > selectedPositions.first() && media[selectedPositions.first()].isImage()
|
||||
|
||||
checkHideBtnVisibility(menu)
|
||||
|
||||
|
@ -172,7 +173,7 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
|||
}
|
||||
|
||||
private fun editFile() {
|
||||
activity.openEditor(getCurrentFile())
|
||||
activity.openFileEditor(getCurrentFile())
|
||||
actMode?.finish()
|
||||
}
|
||||
|
||||
|
@ -270,11 +271,11 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
|||
|
||||
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): ViewHolder {
|
||||
val view = LayoutInflater.from(parent?.context).inflate(R.layout.photo_video_item, parent, false)
|
||||
return ViewHolder(view, adapterListener, itemClick)
|
||||
return ViewHolder(view, adapterListener, activity, multiSelectorMode, multiSelector, listener, itemClick)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
|
||||
itemViews.put(position, holder.bindView(activity, multiSelectorMode, multiSelector, media[position], listener, displayFilenames))
|
||||
itemViews.put(position, holder.bindView(media[position], displayFilenames, scrollVertically))
|
||||
toggleItemSelection(selectedPositions.contains(position), position)
|
||||
holder.itemView.tag = holder
|
||||
}
|
||||
|
@ -335,34 +336,24 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
|||
}
|
||||
}
|
||||
|
||||
class ViewHolder(val view: View, val adapter: MyAdapterListener, val itemClick: (Medium) -> (Unit)) : SwappingHolder(view, MultiSelector()) {
|
||||
fun bindView(activity: SimpleActivity, multiSelectorCallback: ModalMultiSelectorCallback, multiSelector: MultiSelector, medium: Medium,
|
||||
listener: MediaOperationsListener?, displayFilenames: Boolean): View {
|
||||
class ViewHolder(val view: View, val adapter: MyAdapterListener, val activity: SimpleActivity, val multiSelectorCallback: ModalMultiSelectorCallback,
|
||||
val multiSelector: MultiSelector, val listener: MediaOperationsListener?, val itemClick: (Medium) -> (Unit)) : SwappingHolder(view, MultiSelector()) {
|
||||
fun bindView(medium: Medium, displayFilenames: Boolean, scrollVertically: Boolean): View {
|
||||
itemView.apply {
|
||||
play_outline.visibility = if (medium.video) View.VISIBLE else View.GONE
|
||||
photo_name.beVisibleIf(displayFilenames)
|
||||
photo_name.text = medium.name
|
||||
activity.loadImage(medium.path, medium_thumbnail)
|
||||
activity.loadImage(medium.path, medium_thumbnail, scrollVertically)
|
||||
|
||||
setOnClickListener { viewClicked(multiSelector, medium) }
|
||||
setOnLongClickListener {
|
||||
if (listener != null) {
|
||||
if (!multiSelector.isSelectable) {
|
||||
activity.startSupportActionMode(multiSelectorCallback)
|
||||
adapter.toggleItemSelectionAdapter(true, layoutPosition)
|
||||
}
|
||||
|
||||
listener.itemLongClicked(layoutPosition)
|
||||
}
|
||||
true
|
||||
}
|
||||
setOnClickListener { viewClicked(medium) }
|
||||
setOnLongClickListener { viewLongClicked(); true }
|
||||
|
||||
adapter.setupItemForeground(this)
|
||||
}
|
||||
return itemView
|
||||
}
|
||||
|
||||
fun viewClicked(multiSelector: MultiSelector, medium: Medium) {
|
||||
fun viewClicked(medium: Medium) {
|
||||
if (multiSelector.isSelectable) {
|
||||
val isSelected = adapter.getSelectedPositions().contains(layoutPosition)
|
||||
adapter.toggleItemSelectionAdapter(!isSelected, layoutPosition)
|
||||
|
@ -371,6 +362,17 @@ class MediaAdapter(val activity: SimpleActivity, var media: MutableList<Medium>,
|
|||
}
|
||||
}
|
||||
|
||||
fun viewLongClicked() {
|
||||
if (listener != null) {
|
||||
if (!multiSelector.isSelectable) {
|
||||
activity.startSupportActionMode(multiSelectorCallback)
|
||||
adapter.toggleItemSelectionAdapter(true, layoutPosition)
|
||||
}
|
||||
|
||||
listener.itemLongClicked(layoutPosition)
|
||||
}
|
||||
}
|
||||
|
||||
fun stopLoad() {
|
||||
Glide.clear(view.medium_thumbnail)
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ import com.simplemobiletools.gallery.R
|
|||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||
import com.simplemobiletools.gallery.helpers.NOMEDIA
|
||||
import com.simplemobiletools.gallery.helpers.REQUEST_EDIT_IMAGE
|
||||
import com.simplemobiletools.gallery.helpers.REQUEST_SET_WALLPAPER
|
||||
import com.simplemobiletools.gallery.helpers.REQUEST_SET_AS
|
||||
import com.simplemobiletools.gallery.models.Directory
|
||||
import com.simplemobiletools.gallery.models.Medium
|
||||
import com.simplemobiletools.gallery.views.MySquareImageView
|
||||
|
@ -71,32 +71,32 @@ fun Activity.shareMedia(media: List<Medium>) {
|
|||
}
|
||||
}
|
||||
|
||||
fun Activity.trySetAsWallpaper(file: File) {
|
||||
fun Activity.trySetAs(file: File) {
|
||||
try {
|
||||
var uri = Uri.fromFile(file)
|
||||
if (!setAsWallpaper(uri, file)) {
|
||||
if (!setAs(uri, file)) {
|
||||
uri = getFileContentUri(file)
|
||||
setAsWallpaper(uri, file, false)
|
||||
setAs(uri, file, false)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
toast(R.string.unknown_error_occurred)
|
||||
}
|
||||
}
|
||||
|
||||
fun Activity.setAsWallpaper(uri: Uri, file: File, showToast: Boolean = true): Boolean {
|
||||
fun Activity.setAs(uri: Uri, file: File, showToast: Boolean = true): Boolean {
|
||||
var success = false
|
||||
Intent().apply {
|
||||
action = Intent.ACTION_ATTACH_DATA
|
||||
setDataAndType(uri, file.getMimeType("image/*"))
|
||||
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
val chooser = Intent.createChooser(this, getString(R.string.set_as_wallpaper_with))
|
||||
val chooser = Intent.createChooser(this, getString(R.string.set_as))
|
||||
|
||||
if (resolveActivity(packageManager) != null) {
|
||||
startActivityForResult(chooser, REQUEST_SET_WALLPAPER)
|
||||
startActivityForResult(chooser, REQUEST_SET_AS)
|
||||
success = true
|
||||
} else {
|
||||
if (showToast) {
|
||||
toast(R.string.no_wallpaper_setter_found)
|
||||
toast(R.string.no_capable_app_found)
|
||||
}
|
||||
success = false
|
||||
}
|
||||
|
@ -130,9 +130,9 @@ fun Activity.openWith(file: File, forceChooser: Boolean = true) {
|
|||
action = Intent.ACTION_VIEW
|
||||
setDataAndType(uri, file.getMimeType())
|
||||
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
val chooser = Intent.createChooser(this, getString(R.string.open_with))
|
||||
|
||||
if (resolveActivity(packageManager) != null) {
|
||||
val chooser = Intent.createChooser(this, getString(R.string.open_with))
|
||||
startActivity(if (forceChooser) chooser else this)
|
||||
} else {
|
||||
toast(R.string.no_app_found)
|
||||
|
@ -140,15 +140,19 @@ fun Activity.openWith(file: File, forceChooser: Boolean = true) {
|
|||
}
|
||||
}
|
||||
|
||||
fun Activity.openEditor(file: File) {
|
||||
val uri = Uri.fromFile(file)
|
||||
fun Activity.openFileEditor(file: File) {
|
||||
openEditor(Uri.fromFile(file))
|
||||
}
|
||||
|
||||
fun Activity.openEditor(uri: Uri, forceChooser: Boolean = false) {
|
||||
Intent().apply {
|
||||
action = Intent.ACTION_EDIT
|
||||
setDataAndType(uri, "image/*")
|
||||
addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
|
||||
|
||||
if (resolveActivity(packageManager) != null) {
|
||||
startActivityForResult(this, REQUEST_EDIT_IMAGE)
|
||||
val chooser = Intent.createChooser(this, getString(R.string.edit_image_with))
|
||||
startActivityForResult(if (forceChooser) chooser else this, REQUEST_EDIT_IMAGE)
|
||||
} else {
|
||||
toast(R.string.no_editor_found)
|
||||
}
|
||||
|
@ -260,7 +264,8 @@ fun SimpleActivity.toggleFileVisibility(oldFile: File, hide: Boolean, callback:
|
|||
|
||||
fun Activity.getFileSignature(path: String) = StringSignature(File(path).lastModified().toString())
|
||||
|
||||
fun Activity.loadImage(path: String, target: MySquareImageView) {
|
||||
fun Activity.loadImage(path: String, target: MySquareImageView, verticalScroll: Boolean) {
|
||||
target.isVerticalScrolling = verticalScroll
|
||||
if (path.isImageFast() || path.isVideoFast()) {
|
||||
if (path.isPng()) {
|
||||
loadPng(path, target)
|
||||
|
@ -304,7 +309,7 @@ fun Activity.loadAnimatedGif(path: String, target: MySquareImageView) {
|
|||
.load(path)
|
||||
.asGif()
|
||||
.signature(getFileSignature(path))
|
||||
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
|
||||
.diskCacheStrategy(DiskCacheStrategy.NONE)
|
||||
.crossFade()
|
||||
|
||||
if (config.cropThumbnails) builder.centerCrop() else builder.fitCenter()
|
||||
|
|
|
@ -2,6 +2,7 @@ package com.simplemobiletools.gallery.extensions
|
|||
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
import android.database.Cursor
|
||||
import android.net.Uri
|
||||
import android.provider.MediaStore
|
||||
|
@ -19,6 +20,8 @@ import com.simplemobiletools.gallery.models.Medium
|
|||
import java.io.File
|
||||
import java.util.*
|
||||
|
||||
val Context.portrait get() = resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
|
||||
|
||||
fun Context.getRealPathFromURI(uri: Uri): String? {
|
||||
var cursor: Cursor? = null
|
||||
try {
|
||||
|
@ -139,35 +142,33 @@ private fun parseCursor(context: Context, cur: Cursor, isPickImage: Boolean, isP
|
|||
}
|
||||
}
|
||||
|
||||
if (curPath.isEmpty()) {
|
||||
config.includedFolders.mapNotNull { File(it).listFiles() }.forEach {
|
||||
for (file in it) {
|
||||
val size = file.length()
|
||||
if (size <= 0L) {
|
||||
continue
|
||||
}
|
||||
|
||||
val filename = file.name
|
||||
val isImage = filename.isImageFast() || filename.isGif()
|
||||
val isVideo = if (isImage) false else filename.isVideoFast()
|
||||
|
||||
if (!isImage && !isVideo)
|
||||
continue
|
||||
|
||||
if (isVideo && (isPickImage || showMedia == IMAGES))
|
||||
continue
|
||||
|
||||
if (isImage && (isPickVideo || showMedia == VIDEOS))
|
||||
continue
|
||||
|
||||
val dateTaken = file.lastModified()
|
||||
val dateModified = file.lastModified()
|
||||
|
||||
val medium = Medium(filename, file.absolutePath, isVideo, dateModified, dateTaken, size)
|
||||
val isAlreadyAdded = curMedia.any { it.path == file.absolutePath }
|
||||
if (!isAlreadyAdded)
|
||||
curMedia.add(medium)
|
||||
config.includedFolders.filter { it.isEmpty() || it == curPath }.mapNotNull { File(it).listFiles() }.forEach {
|
||||
for (file in it) {
|
||||
val size = file.length()
|
||||
if (size <= 0L) {
|
||||
continue
|
||||
}
|
||||
|
||||
val filename = file.name
|
||||
val isImage = filename.isImageFast() || filename.isGif()
|
||||
val isVideo = if (isImage) false else filename.isVideoFast()
|
||||
|
||||
if (!isImage && !isVideo)
|
||||
continue
|
||||
|
||||
if (isVideo && (isPickImage || showMedia == IMAGES))
|
||||
continue
|
||||
|
||||
if (isImage && (isPickVideo || showMedia == VIDEOS))
|
||||
continue
|
||||
|
||||
val dateTaken = file.lastModified()
|
||||
val dateModified = file.lastModified()
|
||||
|
||||
val medium = Medium(filename, file.absolutePath, isVideo, dateModified, dateTaken, size)
|
||||
val isAlreadyAdded = curMedia.any { it.path == file.absolutePath }
|
||||
if (!isAlreadyAdded)
|
||||
curMedia.add(medium)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ import com.simplemobiletools.gallery.activities.ViewPagerActivity
|
|||
import com.simplemobiletools.gallery.extensions.config
|
||||
import com.simplemobiletools.gallery.extensions.getFileSignature
|
||||
import com.simplemobiletools.gallery.extensions.getRealPathFromURI
|
||||
import com.simplemobiletools.gallery.extensions.portrait
|
||||
import com.simplemobiletools.gallery.helpers.GlideRotateTransformation
|
||||
import com.simplemobiletools.gallery.helpers.MEDIUM
|
||||
import com.simplemobiletools.gallery.models.Medium
|
||||
|
@ -229,8 +230,6 @@ class PhotoFragment : ViewPagerFragment() {
|
|||
}
|
||||
|
||||
private fun getDoubleTapZoomScale(): Float {
|
||||
val displayAspectRatio = ViewPagerActivity.screenHeight / (ViewPagerActivity.screenWidth).toFloat()
|
||||
|
||||
val bitmapOptions = BitmapFactory.Options()
|
||||
bitmapOptions.inJustDecodeBounds = true
|
||||
BitmapFactory.decodeFile(medium.path, bitmapOptions)
|
||||
|
@ -238,12 +237,15 @@ class PhotoFragment : ViewPagerFragment() {
|
|||
val height = bitmapOptions.outHeight
|
||||
val bitmapAspectRatio = height / (width).toFloat()
|
||||
|
||||
return if (Math.abs(displayAspectRatio - bitmapAspectRatio) < RATIO_THRESHOLD) {
|
||||
2f
|
||||
} else if (bitmapAspectRatio > 1f) {
|
||||
width / (height).toFloat()
|
||||
if (context == null)
|
||||
return 2f
|
||||
|
||||
return if (context.portrait && bitmapAspectRatio <= 1f) {
|
||||
ViewPagerActivity.screenHeight / height.toFloat()
|
||||
} else if (!context.portrait && bitmapAspectRatio >= 1f) {
|
||||
ViewPagerActivity.screenWidth / width.toFloat()
|
||||
} else {
|
||||
bitmapAspectRatio
|
||||
2f
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -95,6 +95,9 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
|||
super.setMenuVisibility(menuVisible)
|
||||
mIsFragmentVisible = menuVisible
|
||||
if (menuVisible) {
|
||||
if (mSurfaceView != null)
|
||||
initMediaPlayer()
|
||||
|
||||
if (context?.config?.autoplayVideos == true) {
|
||||
playVideo()
|
||||
}
|
||||
|
@ -228,6 +231,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
|||
}
|
||||
} catch (e: IOException) {
|
||||
Log.e(TAG, "init media player failed $e")
|
||||
releaseMediaPlayer()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -258,12 +262,16 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
|||
private fun cleanup() {
|
||||
pauseVideo()
|
||||
mCurrTimeView?.text = 0.getFormattedDuration()
|
||||
mMediaPlayer?.release()
|
||||
mMediaPlayer = null
|
||||
releaseMediaPlayer()
|
||||
mSeekBar?.progress = 0
|
||||
mTimerHandler?.removeCallbacksAndMessages(null)
|
||||
}
|
||||
|
||||
private fun releaseMediaPlayer() {
|
||||
mMediaPlayer?.release()
|
||||
mMediaPlayer = null
|
||||
}
|
||||
|
||||
private fun videoPrepared(mediaPlayer: MediaPlayer) {
|
||||
mDuration = mediaPlayer.duration / 1000
|
||||
addPreviewImage()
|
||||
|
@ -294,8 +302,7 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
|||
}
|
||||
|
||||
override fun surfaceDestroyed(holder: SurfaceHolder) {
|
||||
mMediaPlayer?.release()
|
||||
mMediaPlayer = null
|
||||
releaseMediaPlayer()
|
||||
}
|
||||
|
||||
private fun setVideoSize() {
|
||||
|
@ -348,6 +355,9 @@ class VideoFragment : ViewPagerFragment(), SurfaceHolder.Callback, SeekBar.OnSee
|
|||
|
||||
override fun onStartTrackingTouch(seekBar: SeekBar) {
|
||||
initMediaPlayer()
|
||||
if (mMediaPlayer == null)
|
||||
return
|
||||
|
||||
mMediaPlayer!!.pause()
|
||||
mIsDragged = true
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.simplemobiletools.gallery.helpers
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.Configuration
|
||||
import com.google.gson.Gson
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||
|
@ -160,12 +161,52 @@ class Config(context: Context) : BaseConfig(context) {
|
|||
set(showMedia) = prefs.edit().putInt(SHOW_MEDIA, showMedia).apply()
|
||||
|
||||
var dirColumnCnt: Int
|
||||
get() = prefs.getInt(DIR_COLUMN_CNT, context.resources.getInteger(R.integer.directory_columns))
|
||||
set(dirColumnCnt) = prefs.edit().putInt(DIR_COLUMN_CNT, dirColumnCnt).apply()
|
||||
get() = prefs.getInt(getDirectoryColumnsField(), getDefaultDirectoryColumnCount())
|
||||
set(dirColumnCnt) = prefs.edit().putInt(getDirectoryColumnsField(), dirColumnCnt).apply()
|
||||
|
||||
private fun getDirectoryColumnsField(): String {
|
||||
val isPortrait = context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
|
||||
return if (isPortrait) {
|
||||
if (scrollHorizontally) {
|
||||
DIR_HORIZONTAL_COLUMN_CNT
|
||||
} else {
|
||||
DIR_COLUMN_CNT
|
||||
}
|
||||
} else {
|
||||
if (scrollHorizontally) {
|
||||
DIR_LANDSCAPE_HORIZONTAL_COLUMN_CNT
|
||||
} else {
|
||||
DIR_LANDSCAPE_COLUMN_CNT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getDefaultDirectoryColumnCount() = context.resources.getInteger(if (scrollHorizontally) R.integer.directory_columns_horizontal_scroll
|
||||
else R.integer.directory_columns_vertical_scroll)
|
||||
|
||||
var mediaColumnCnt: Int
|
||||
get() = prefs.getInt(MEDIA_COLUMN_CNT, context.resources.getInteger(R.integer.media_columns))
|
||||
set(mediaColumnCnt) = prefs.edit().putInt(MEDIA_COLUMN_CNT, mediaColumnCnt).apply()
|
||||
get() = prefs.getInt(getMediaColumnsField(), getDefaultMediaColumnCount())
|
||||
set(mediaColumnCnt) = prefs.edit().putInt(getMediaColumnsField(), mediaColumnCnt).apply()
|
||||
|
||||
private fun getMediaColumnsField(): String {
|
||||
val isPortrait = context.resources.configuration.orientation == Configuration.ORIENTATION_PORTRAIT
|
||||
return if (isPortrait) {
|
||||
if (scrollHorizontally) {
|
||||
MEDIA_HORIZONTAL_COLUMN_CNT
|
||||
} else {
|
||||
MEDIA_COLUMN_CNT
|
||||
}
|
||||
} else {
|
||||
if (scrollHorizontally) {
|
||||
MEDIA_LANDSCAPE_HORIZONTAL_COLUMN_CNT
|
||||
} else {
|
||||
MEDIA_LANDSCAPE_COLUMN_CNT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getDefaultMediaColumnCount() = context.resources.getInteger(if (scrollHorizontally) R.integer.media_columns_horizontal_scroll
|
||||
else R.integer.media_columns_vertical_scroll)
|
||||
|
||||
var directories: String
|
||||
get() = prefs.getString(DIRECTORIES, "")
|
||||
|
@ -179,4 +220,8 @@ class Config(context: Context) : BaseConfig(context) {
|
|||
val listType = object : TypeToken<List<AlbumCover>>() {}.type
|
||||
return Gson().fromJson<ArrayList<AlbumCover>>(albumCovers, listType) ?: ArrayList(1)
|
||||
}
|
||||
|
||||
var scrollHorizontally: Boolean
|
||||
get() = prefs.getBoolean(SCROLL_HORIZONTALLY, false)
|
||||
set(scrollHorizontally) = prefs.edit().putBoolean(SCROLL_HORIZONTALLY, scrollHorizontally).apply()
|
||||
}
|
||||
|
|
|
@ -16,7 +16,13 @@ val DISPLAY_FILE_NAMES = "display_file_names"
|
|||
val DARK_BACKGROUND = "dark_background"
|
||||
val PINNED_FOLDERS = "pinned_folders"
|
||||
val DIR_COLUMN_CNT = "dir_column_cnt"
|
||||
val DIR_LANDSCAPE_COLUMN_CNT = "dir_landscape_column_cnt"
|
||||
val DIR_HORIZONTAL_COLUMN_CNT = "dir_horizontal_column_cnt"
|
||||
val DIR_LANDSCAPE_HORIZONTAL_COLUMN_CNT = "dir_landscape_horizontal_column_cnt"
|
||||
val MEDIA_COLUMN_CNT = "media_column_cnt"
|
||||
val MEDIA_LANDSCAPE_COLUMN_CNT = "media_landscape_column_cnt"
|
||||
val MEDIA_HORIZONTAL_COLUMN_CNT = "media_horizontal_column_cnt"
|
||||
val MEDIA_LANDSCAPE_HORIZONTAL_COLUMN_CNT = "media_landscape_horizontal_column_cnt"
|
||||
val SHOW_ALL = "show_all" // display images and videos from all folders together
|
||||
val SHOW_MEDIA = "show_media"
|
||||
val SAVE_FOLDER_PREFIX = "folder2_"
|
||||
|
@ -24,6 +30,7 @@ val HIDE_FOLDER_TOOLTIP_SHOWN = "hide_folder_tooltip_shown"
|
|||
val EXCLUDED_FOLDERS = "excluded_folders"
|
||||
val INCLUDED_FOLDERS = "included_folders"
|
||||
val ALBUM_COVERS = "album_covers"
|
||||
val SCROLL_HORIZONTALLY = "scroll_horizontally"
|
||||
|
||||
val NOMEDIA = ".nomedia"
|
||||
|
||||
|
@ -37,7 +44,7 @@ val DIRECTORIES = "directories2"
|
|||
val IS_VIEW_INTENT = "is_view_intent"
|
||||
|
||||
val REQUEST_EDIT_IMAGE = 1
|
||||
val REQUEST_SET_WALLPAPER = 2
|
||||
val REQUEST_SET_AS = 2
|
||||
|
||||
// show media
|
||||
val IMAGES_AND_VIDEOS = 0
|
||||
|
|
|
@ -5,6 +5,7 @@ import android.util.AttributeSet
|
|||
import android.widget.ImageView
|
||||
|
||||
class MySquareImageView : ImageView {
|
||||
var isVerticalScrolling = true
|
||||
|
||||
constructor(context: Context) : super(context)
|
||||
|
||||
|
@ -14,6 +15,7 @@ class MySquareImageView : ImageView {
|
|||
|
||||
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
|
||||
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
|
||||
setMeasuredDimension(measuredWidth, measuredWidth)
|
||||
val spec = if (isVerticalScrolling) measuredWidth else measuredHeight
|
||||
setMeasuredDimension(spec, spec)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:scrollbars="none"
|
||||
app:layoutManager="android.support.v7.widget.GridLayoutManager"
|
||||
app:spanCount="@integer/directory_columns"/>
|
||||
app:spanCount="@integer/directory_columns_vertical_scroll"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.FastScroller
|
||||
android:id="@+id/directories_fastscroller"
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:scrollbars="none"
|
||||
app:layoutManager="android.support.v7.widget.GridLayoutManager"
|
||||
app:spanCount="@integer/media_columns"/>
|
||||
app:spanCount="@integer/media_columns_vertical_scroll"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.FastScroller
|
||||
android:id="@+id/media_fastscroller"
|
||||
|
|
|
@ -208,6 +208,27 @@
|
|||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_scroll_horizontally_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/medium_margin"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/activity_margin"
|
||||
android:visibility="gone">
|
||||
|
||||
<com.simplemobiletools.commons.views.MySwitchCompat
|
||||
android:id="@+id/settings_scroll_horizontally"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@null"
|
||||
android:clickable="false"
|
||||
android:paddingLeft="@dimen/medium_margin"
|
||||
android:paddingStart="@dimen/medium_margin"
|
||||
android:text="@string/scroll_thumbnails_horizontally"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/settings_screen_rotation_holder"
|
||||
android:layout_width="match_parent"
|
||||
|
|
|
@ -7,4 +7,4 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/activity_margin"
|
||||
app:layoutManager="android.support.v7.widget.GridLayoutManager"
|
||||
app:spanCount="@integer/directory_columns"/>
|
||||
app:spanCount="@integer/directory_columns_vertical_scroll"/>
|
||||
|
|
|
@ -7,4 +7,4 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:paddingTop="@dimen/activity_margin"
|
||||
app:layoutManager="android.support.v7.widget.GridLayoutManager"
|
||||
app:spanCount="@integer/media_columns"/>
|
||||
app:spanCount="@integer/media_columns_vertical_scroll"/>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/dir_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="1px">
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/media_item_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="1px">
|
||||
|
||||
|
|
|
@ -30,4 +30,8 @@
|
|||
android:title="@string/flip_vertically"/>
|
||||
</menu>
|
||||
</item>
|
||||
<item
|
||||
android:id="@+id/edit"
|
||||
android:title="@string/edit_with"
|
||||
app:showAsAction="never"/>
|
||||
</menu>
|
||||
|
|
|
@ -43,8 +43,8 @@
|
|||
android:title="@string/move_to"
|
||||
app:showAsAction="never"/>
|
||||
<item
|
||||
android:id="@+id/menu_set_as_wallpaper"
|
||||
android:title="@string/set_as_wallpaper"
|
||||
android:id="@+id/menu_set_as"
|
||||
android:title="@string/set_as"
|
||||
app:showAsAction="never"/>
|
||||
<item
|
||||
android:id="@+id/menu_open_with"
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
android:title="@string/edit"
|
||||
app:showAsAction="ifRoom"/>
|
||||
<item
|
||||
android:id="@+id/menu_set_as_wallpaper"
|
||||
android:title="@string/set_as_wallpaper"
|
||||
android:id="@+id/menu_set_as"
|
||||
android:title="@string/set_as"
|
||||
app:showAsAction="never"/>
|
||||
<item
|
||||
android:id="@+id/menu_open_with"
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Nastavit jako</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Tato funkce skryje složku, včetně podsložek, přidáním souboru \'.nomedia\'. Zobrazíte je zvolením možnosti \'Zobrazit skryté složky\' v nastavení. Pokračovat?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Překlopit vodorovně</string>
|
||||
<string name="flip_vertically">Překlopit svisle</string>
|
||||
<string name="out_of_memory_error">Zařízení nemá dostatek paměti</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Jednoduchá tapeta</string>
|
||||
<string name="set_as_wallpaper">Nastavit jako tapetu</string>
|
||||
<string name="set_as_wallpaper_failed">Nastavení tapety selhalo</string>
|
||||
<string name="set_as_wallpaper_with">Nastavit jako tapetu pomocí:</string>
|
||||
<string name="no_wallpaper_setter_found">Nebyla nalezena žádná vhodná aplikace</string>
|
||||
<string name="no_capable_app_found">Nebyla nalezena žádná vhodná aplikace</string>
|
||||
<string name="setting_wallpaper">Nastavuje se tapeta…</string>
|
||||
<string name="wallpaper_set_successfully">Tapeta byla úspěšně změněna</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,8 +88,8 @@
|
|||
<string name="show_media">Zobrazit média</string>
|
||||
<string name="images">Jen obrázky</string>
|
||||
<string name="videos">Jen videa</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Obrázky i videa</string>
|
||||
<string name="loop_videos">Přehrávat videa ve smyčce</string>
|
||||
<string name="animate_gifs">Animovat náhledy souborů GIF</string>
|
||||
|
|
|
@ -21,8 +21,9 @@
|
|||
<string name="reduce_column_count">Kacheln vergrößern</string>
|
||||
<string name="temporarily_show_hidden">Verstecktes temporär zeigen</string>
|
||||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="select_photo">Bild auswählen</string>
|
||||
<string name="use_default">Standard verwenden</string>
|
||||
<string name="set_as">Festlegen als</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Diese Funktion versteckt ausgewählte Ordner (auch für andere Apps), indem dort im Dateisystem eine \'.nomedia\'-Datei abgelegt wird. Dadurch werden auch deren Unterordner versteckt. Solche Ordner werden nur gezeigt, wenn die Einstellung \'Versteckte Ordner zeigen\' aktiv ist (auch andere Apps bieten üblicherweise eine solche Option). Fortfahren?</string>
|
||||
|
@ -39,7 +40,7 @@
|
|||
<string name="include_folders">Einbezogene Ordner</string>
|
||||
<string name="manage_included_folders">Einbezogene Ordner verwalten</string>
|
||||
<string name="add_folder">Ordner hinzufügen</string>
|
||||
<string name="included_activity_placeholder">Sollten Sie weitere Medien-Ordner haben, die von der App nicht erkannt wurden, können Sie diese hier manuell hinzufügen.</string>
|
||||
<string name="included_activity_placeholder">Sollten Sie weitere Medienordner haben, die von der App nicht erkannt wurden, können Sie diese hier manuell hinzufügen.</string>
|
||||
|
||||
<!-- Resizing -->
|
||||
<string name="resize">Größe ändern</string>
|
||||
|
@ -62,18 +63,19 @@
|
|||
<string name="error_saving_file">Konnte Quelldatei nicht überschreiben</string>
|
||||
<string name="rotate_left">Nach links drehen</string>
|
||||
<string name="rotate_right">Nach rechts drehen</string>
|
||||
<string name="rotate_one_eighty">Um 180º drehen</string>
|
||||
<string name="rotate_one_eighty">Um 180° drehen</string>
|
||||
<string name="flip">Spiegeln</string>
|
||||
<string name="flip_horizontally">Horizontal spiegeln</string>
|
||||
<string name="flip_vertically">Vertikal spiegeln</string>
|
||||
<string name="out_of_memory_error">Fehler: Zuwenig Speicher</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Schlichter Hintergrund</string>
|
||||
<string name="set_as_wallpaper">Als Hintergrund festlegen</string>
|
||||
<string name="set_as_wallpaper_failed">Hintergrundbild festlegen fehlgeschlagen</string>
|
||||
<string name="set_as_wallpaper_with">Als Hintergrund festlegen mit:</string>
|
||||
<string name="no_wallpaper_setter_found">Keine Hintergrundbild-App gefunden</string>
|
||||
<string name="no_capable_app_found">Keine Hintergrundbild-App gefunden</string>
|
||||
<string name="setting_wallpaper">Hintergrund festlegen…</string>
|
||||
<string name="wallpaper_set_successfully">Hintergrundbild erfolgreich festgelegt</string>
|
||||
<string name="portrait_aspect_ratio">Hochformat</string>
|
||||
|
@ -86,8 +88,8 @@
|
|||
<string name="show_media">Medien auswählen</string>
|
||||
<string name="images">Nur Bilder</string>
|
||||
<string name="videos">Nur Videos</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">Nur GIFs</string>
|
||||
<string name="images_videos_gifs">Bilder, Videos und GIFs</string>
|
||||
<string name="images_and_videos">Bilder und Videos</string>
|
||||
<string name="loop_videos">Videos in Endlosschleife spielen</string>
|
||||
<string name="animate_gifs">Kacheln bei GIFs animieren</string>
|
||||
|
@ -98,7 +100,7 @@
|
|||
<string name="screen_rotation_device_rotation">Gerätedrehung</string>
|
||||
<string name="screen_rotation_aspect_ratio">Seitenverhältnis</string>
|
||||
<string name="dark_background_at_fullscreen">Schwarzer Hintergrund im Vollbild</string>
|
||||
<string name="scroll_thumbnails_horizontally">Scroll thumbnails horizontally</string>
|
||||
<string name="scroll_thumbnails_horizontally">Kacheln horizontal scrollen</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Esta función oculta la carpeta agregando un archivo \'.nomedia\' en ella, y ocultará también las subcarpetas. Puede mostrarlas cambiando la opción \'Mostrar carpetas ocultas\' en los Ajustes. ¿Continuar?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Horizontalmente</string>
|
||||
<string name="flip_vertically">Verticalmente</string>
|
||||
<string name="out_of_memory_error">Error: sin memoria</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Fondos de pantalla Simple Gallery</string>
|
||||
<string name="set_as_wallpaper">Establecer como fondo de pantalla</string>
|
||||
<string name="set_as_wallpaper_failed">Error al establecer fondo de pantalla</string>
|
||||
<string name="set_as_wallpaper_with">Establecer como fondo de pantalla con:</string>
|
||||
<string name="no_wallpaper_setter_found">No se encontró aplicación para ello</string>
|
||||
<string name="no_capable_app_found">No se encontró aplicación para ello</string>
|
||||
<string name="setting_wallpaper">Estableciendo fondo de pantalla…</string>
|
||||
<string name="wallpaper_set_successfully">Fondo de pantalla establecido correctamente</string>
|
||||
<string name="portrait_aspect_ratio">Relación de aspecto tipo retrato</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Mostrar multimedia</string>
|
||||
<string name="images">Solo imágenes</string>
|
||||
<string name="videos">Solo vídeos</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Imágenes y vídeos</string>
|
||||
<string name="loop_videos">Reproducción continua de vídeos</string>
|
||||
<string name="animate_gifs">Animar las miniaturas de gifs</string>
|
||||
<string name="animate_gifs">Animar las miniaturas de GIFs</string>
|
||||
<string name="max_brightness">Brillo máximo cuando se muestra multimedia</string>
|
||||
<string name="crop_thumbnails">Recortar miniaturas en cuadrados</string>
|
||||
<string name="screen_rotation_by">Rotar multimedia en pantalla completa según</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Cette option masque le dossier en ajoutant un fichier \'.nomedia\' à l\'intérieur, cela masquera aussi tous les sous-dossiers. Vous pouvez les voir en modifiant l\'option \'Afficher les dossiers cachés\' dans les Paramètres. Continuer ?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Retourner horizontalement</string>
|
||||
<string name="flip_vertically">Retourner verticallement</string>
|
||||
<string name="out_of_memory_error">Erreur excès de mémoire</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Simple fond d\'écran</string>
|
||||
<string name="set_as_wallpaper">Définir comme fond d\'écran</string>
|
||||
<string name="set_as_wallpaper_failed">Échec de la définition en tant que fond d\'écran.</string>
|
||||
<string name="set_as_wallpaper_with">Définir comme fond d\'écran avec :</string>
|
||||
<string name="no_wallpaper_setter_found">Aucune application trouvée pour continuer cette action</string>
|
||||
<string name="no_capable_app_found">Aucune application trouvée pour continuer cette action</string>
|
||||
<string name="setting_wallpaper">Paramètre de fond d\'écran…</string>
|
||||
<string name="wallpaper_set_successfully">Fond d\'écran défini avec succès.</string>
|
||||
<string name="portrait_aspect_ratio">Ratio aspect Portrait</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Afficher les médias</string>
|
||||
<string name="images">Seulement les images</string>
|
||||
<string name="videos">Vidéos uniquement</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Images et vidéos</string>
|
||||
<string name="loop_videos">Tourner en boucle les vidéos</string>
|
||||
<string name="animate_gifs">Gifs animés sur les miniatures</string>
|
||||
<string name="animate_gifs">GIFs animés sur les miniatures</string>
|
||||
<string name="max_brightness">Luminosité maximale lors de l\'affichage de media</string>
|
||||
<string name="crop_thumbnails">Rogner les miniatures en carrés</string>
|
||||
<string name="screen_rotation_by">Pivoter les medias plen écran selon</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden folders\' option in Settings. Continue?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Flip horizontally</string>
|
||||
<string name="flip_vertically">Flip vertically</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Simple Wallpaper</string>
|
||||
<string name="set_as_wallpaper">Set as Wallpaper</string>
|
||||
<string name="set_as_wallpaper_failed">Setting as Wallpaper failed</string>
|
||||
<string name="set_as_wallpaper_with">Set as wallpaper with:</string>
|
||||
<string name="no_wallpaper_setter_found">No app capable of it has been found</string>
|
||||
<string name="no_capable_app_found">No app capable of it has been found</string>
|
||||
<string name="setting_wallpaper">Setting wallpaper…</string>
|
||||
<string name="wallpaper_set_successfully">Wallpaper set successfully</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Show media</string>
|
||||
<string name="images">Images only</string>
|
||||
<string name="videos">Videos only</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Images and videos</string>
|
||||
<string name="loop_videos">Loop videos</string>
|
||||
<string name="animate_gifs">Animate gifs at thumbnails</string>
|
||||
<string name="animate_gifs">Animate GIFs at thumbnails</string>
|
||||
<string name="max_brightness">Max brightness when viewing media</string>
|
||||
<string name="crop_thumbnails">Crop thumbnails into squares</string>
|
||||
<string name="screen_rotation_by">Rotate fullscreen media by</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Questa funzione nasconde la cartella aggiungendo un file \'.nomedia\' all\'interno, nasconderà anche tutte le sottocartelle. Puoi vederle attivando l\'opzione \'Mostra cartelle nascoste\' nelle impostazioni. Continuare?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Capovolgi orizzontalmente</string>
|
||||
<string name="flip_vertically">Capovolgi verticalmente</string>
|
||||
<string name="out_of_memory_error">Errore memoria esaurita</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Sfondo semplice</string>
|
||||
<string name="set_as_wallpaper">Imposta come sfondo</string>
|
||||
<string name="set_as_wallpaper_failed">Impostazione sfondo non riuscita</string>
|
||||
<string name="set_as_wallpaper_with">Imposta come sfondo con:</string>
|
||||
<string name="no_wallpaper_setter_found">Non sono disponibili app compatibili</string>
|
||||
<string name="no_capable_app_found">Non sono disponibili app compatibili</string>
|
||||
<string name="setting_wallpaper">Impostazione sfondo…</string>
|
||||
<string name="wallpaper_set_successfully">Sfondo impostato correttamente</string>
|
||||
<string name="portrait_aspect_ratio">Proporzioni ritratto</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Mostra tipo di media</string>
|
||||
<string name="images">Solo immagini</string>
|
||||
<string name="videos">Solo video</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Immagini e video</string>
|
||||
<string name="loop_videos">Ripeti i video</string>
|
||||
<string name="animate_gifs">Anima le gif in miniatura</string>
|
||||
<string name="animate_gifs">Anima le GIF in miniatura</string>
|
||||
<string name="max_brightness">Luminosità max durante visualizzazione</string>
|
||||
<string name="crop_thumbnails">Ritaglia le miniature in quadrati</string>
|
||||
<string name="screen_rotation_by">Ruota a schermo intero per</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden folders\' option in Settings. Continue?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Flip horizontally</string>
|
||||
<string name="flip_vertically">Flip vertically</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">シンプル壁紙</string>
|
||||
<string name="set_as_wallpaper">壁紙として設定</string>
|
||||
<string name="set_as_wallpaper_failed">壁紙としての設定に失敗しました</string>
|
||||
<string name="set_as_wallpaper_with">壁紙として設定:</string>
|
||||
<string name="no_wallpaper_setter_found">対応できるアプリが見つかりません</string>
|
||||
<string name="no_capable_app_found">対応できるアプリが見つかりません</string>
|
||||
<string name="setting_wallpaper">壁紙の設定…</string>
|
||||
<string name="wallpaper_set_successfully">壁紙を正常に設定しました</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Show media</string>
|
||||
<string name="images">Images only</string>
|
||||
<string name="videos">Videos only</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Images and videos</string>
|
||||
<string name="loop_videos">Loop videos</string>
|
||||
<string name="animate_gifs">Animate gifs at thumbnails</string>
|
||||
<string name="animate_gifs">Animate GIFs at thumbnails</string>
|
||||
<string name="max_brightness">Max brightness when viewing media</string>
|
||||
<string name="crop_thumbnails">Crop thumbnails into squares</string>
|
||||
<string name="screen_rotation_by">Rotate fullscreen media by</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Ta funkcja ukrywa folder dodając \'. \' Nomedia plik do niego, można tak ukryć wszystkie podfoldery. Można je zobaczyć poprzez przełączanie \'Pokaż ukryte foldery \' opcję w ustawieniach. Kontyntynuj?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Flip poziomo</string>
|
||||
<string name="flip_vertically">Flip pionowo</string>
|
||||
<string name="out_of_memory_error">Błąd pamięci</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Tapeta</string>
|
||||
<string name="set_as_wallpaper">Ustaw jako tapeta</string>
|
||||
<string name="set_as_wallpaper_failed">Ustawienie tapety nie powiodło się</string>
|
||||
<string name="set_as_wallpaper_with">Ustaw jako tapetę w:</string>
|
||||
<string name="no_wallpaper_setter_found">Brak odpowiednich ustawień</string>
|
||||
<string name="no_capable_app_found">Brak odpowiednich ustawień</string>
|
||||
<string name="setting_wallpaper">Ustawianie tapety…</string>
|
||||
<string name="wallpaper_set_successfully">Tapeta ustawiona</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Wybierz co pokazywać</string>
|
||||
<string name="images">Tylko Zdjęcia</string>
|
||||
<string name="videos">Tylko Filmy</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Obrazy i wideo</string>
|
||||
<string name="loop_videos">Pętla wideo</string>
|
||||
<string name="animate_gifs">Animowanie gify z miniaturkami</string>
|
||||
<string name="animate_gifs">Animowanie GIFy z miniaturkami</string>
|
||||
<string name="max_brightness">Max brightness when viewing media</string>
|
||||
<string name="crop_thumbnails">Crop thumbnails into squares</string>
|
||||
<string name="screen_rotation_by">Rotate fullscreen media by</string>
|
||||
|
|
|
@ -20,9 +20,10 @@
|
|||
<string name="increase_column_count">Aumentar número de colunas</string>
|
||||
<string name="reduce_column_count">Reduzir número de colunas</string>
|
||||
<string name="temporarily_show_hidden">Mostrar pastas ocultas temporariamente</string>
|
||||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="change_cover_image">Trocar imagem de capa</string>
|
||||
<string name="select_photo">Selecionar foto</string>
|
||||
<string name="use_default">Usar padrão</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Esta opção oculta uma pasta com a adição de um arquivo \'.nomedia\' dentro dela, e irá ocultar todas as subpastas que estejam dentro da mesma. Você poderá rever essas pastas com a opção \'Mostrar pastas ocultas\'. Continuar?</string>
|
||||
|
@ -67,15 +68,16 @@
|
|||
<string name="flip_horizontally">Horizontalmente</string>
|
||||
<string name="flip_vertically">Verticalmente</string>
|
||||
<string name="out_of_memory_error">Memória insuficiente</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Simple Wallpaper</string>
|
||||
<string name="set_as_wallpaper">Definir como fundo de tela</string>
|
||||
<string name="set_as_wallpaper_failed">Falha ao definir como fundo de tela</string>
|
||||
<string name="set_as_wallpaper_with">Definir fundo de tela com:</string>
|
||||
<string name="no_wallpaper_setter_found">Aplicativo não encontrado</string>
|
||||
<string name="setting_wallpaper">A definir como fundo de tela;</string>
|
||||
<string name="wallpaper_set_successfully">Fundo de tela definido com sucesso</string>
|
||||
<string name="set_as_wallpaper">Definir como papel de parede</string>
|
||||
<string name="set_as_wallpaper_failed">Falha ao definir como papel de parede</string>
|
||||
<string name="set_as_wallpaper_with">Definir papel de parede com:</string>
|
||||
<string name="no_capable_app_found">Aplicativo não encontrado</string>
|
||||
<string name="setting_wallpaper">Definindo como papel de parede;</string>
|
||||
<string name="wallpaper_set_successfully">Papel de parede com sucesso</string>
|
||||
<string name="portrait_aspect_ratio">Retrato</string>
|
||||
<string name="landscape_aspect_ratio">Paisagem</string>
|
||||
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Mostrar mídia</string>
|
||||
<string name="images">Apenas imagens</string>
|
||||
<string name="videos">Apenas vídeos</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">Apenas GIFS</string>
|
||||
<string name="images_videos_gifs">Imagens, vídeos, GIFs</string>
|
||||
<string name="images_and_videos">Imagens e vídeos</string>
|
||||
<string name="loop_videos">Reproduzir vídeos em ciclo</string>
|
||||
<string name="animate_gifs">Animação de gifs nas miniaturas</string>
|
||||
<string name="animate_gifs">Animação de GIFs nas miniaturas</string>
|
||||
<string name="max_brightness">Brilho máximo ao visualizar mídia</string>
|
||||
<string name="crop_thumbnails">Recortar miniaturas em quadrados</string>
|
||||
<string name="screen_rotation_by">Critério para rotação de tela</string>
|
||||
|
@ -98,7 +100,7 @@
|
|||
<string name="screen_rotation_device_rotation">Sensor do aparelho</string>
|
||||
<string name="screen_rotation_aspect_ratio">Proporção da mídia</string>
|
||||
<string name="dark_background_at_fullscreen">Fundo de tela escuro em mídia tela cheia</string>
|
||||
<string name="scroll_thumbnails_horizontally">Scroll thumbnails horizontally</string>
|
||||
<string name="scroll_thumbnails_horizontally">Rolar miniaturas horizontalmente</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
|
|
|
@ -18,11 +18,12 @@
|
|||
<string name="no_map_application">Não existe uma aplicação adequada</string>
|
||||
<string name="no_camera_app_found">Não existe uma aplicação adequeada</string>
|
||||
<string name="increase_column_count">Aumentar número de colunas</string>
|
||||
<string name="reduce_column_count">Reduzir número de colunas</string>
|
||||
<string name="reduce_column_count">Diminuir número de colunas</string>
|
||||
<string name="temporarily_show_hidden">Mostrar ocultas temporariamente</string>
|
||||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="change_cover_image">Alterar imagem da capa</string>
|
||||
<string name="select_photo">Selecionar foto</string>
|
||||
<string name="use_default">Predefinição</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Esta opção oculta uma pasta com a adição de um ficheiro \'.nomedia\' na pasta, e irá ocultar todas as subpastas existentes. Pode ver as pastas com a opção \'Mostrar pastas ocultas\'. Continuar?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Horizontalmente</string>
|
||||
<string name="flip_vertically">Verticalmente</string>
|
||||
<string name="out_of_memory_error">Memória insuficiente</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Simple Wallpaper</string>
|
||||
<string name="set_as_wallpaper">Definir como fundo do ecrã</string>
|
||||
<string name="set_as_wallpaper_failed">Falha ao definir como fundo de ecrã</string>
|
||||
<string name="set_as_wallpaper_with">Definir como fundo com:</string>
|
||||
<string name="no_wallpaper_setter_found">Aplicação não encontrada</string>
|
||||
<string name="no_capable_app_found">Aplicação não encontrada</string>
|
||||
<string name="setting_wallpaper">A definir como fundo de ecrã…</string>
|
||||
<string name="wallpaper_set_successfully">Fundo definido com sucesso</string>
|
||||
<string name="portrait_aspect_ratio">Proporção na vertical</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Mostrar multimédia</string>
|
||||
<string name="images">Apenas imagens</string>
|
||||
<string name="videos">Apenas vídeos</string>
|
||||
<string name="gifs">Apenas gifs</string>
|
||||
<string name="images_videos_gifs">Imagens, vídeos e gifs</string>
|
||||
<string name="gifs">Apenas GIFs</string>
|
||||
<string name="images_videos_gifs">Imagens, vídeos e GIFs</string>
|
||||
<string name="images_and_videos">Imagens e vídeos</string>
|
||||
<string name="loop_videos">Vídeos em ciclo</string>
|
||||
<string name="animate_gifs">Animação de gifs nas miniaturas</string>
|
||||
<string name="animate_gifs">Animação de GIFs nas miniaturas</string>
|
||||
<string name="max_brightness">Brilho máximo permitido</string>
|
||||
<string name="crop_thumbnails">Recortar miniaturas em quadrados</string>
|
||||
<string name="screen_rotation_by">Rodar em ecrã completo por</string>
|
||||
|
@ -98,7 +100,7 @@
|
|||
<string name="screen_rotation_device_rotation">Rotação do dispositivo</string>
|
||||
<string name="screen_rotation_aspect_ratio">Proporção</string>
|
||||
<string name="dark_background_at_fullscreen">Usar sempre um fundo escuro se em ecrã completo</string>
|
||||
<string name="scroll_thumbnails_horizontally">Scroll thumbnails horizontally</string>
|
||||
<string name="scroll_thumbnails_horizontally">Deslocação horizontal de miniaturas</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Эта опция скрывает папку, добавляя в неё файл \'.nomedia\'; будут скрыты все подпапки. Можно показывать их, переключая \'Показать скрытые папки\' в настройках. Продолжить?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">По горизонтали</string>
|
||||
<string name="flip_vertically">По вертикали</string>
|
||||
<string name="out_of_memory_error">Память переполнена</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Простые обои</string>
|
||||
<string name="set_as_wallpaper">Установить в качестве обоев</string>
|
||||
<string name="set_as_wallpaper_failed">Установить не удалось</string>
|
||||
<string name="set_as_wallpaper_with">Установить в качестве обоев в:</string>
|
||||
<string name="no_wallpaper_setter_found">Приложение не найдено</string>
|
||||
<string name="no_capable_app_found">Приложение не найдено</string>
|
||||
<string name="setting_wallpaper">Установка обоев…</string>
|
||||
<string name="wallpaper_set_successfully">Обои успешно установлены</string>
|
||||
<string name="portrait_aspect_ratio">Формат изображения</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Отображать</string>
|
||||
<string name="images">Только изображения</string>
|
||||
<string name="videos">Только видео</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Изображения и видео</string>
|
||||
<string name="loop_videos">Повторять видео</string>
|
||||
<string name="animate_gifs">Анимировать эскизы gif-файлов</string>
|
||||
<string name="animate_gifs">Анимировать эскизы GIF-файлов</string>
|
||||
<string name="max_brightness">Максимальная яркость при просмотре файлов</string>
|
||||
<string name="crop_thumbnails">Нарезать миниатюры в квадраты</string>
|
||||
<string name="screen_rotation_by">Полноэкранный поворот</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Zmeniť obal albumu</string>
|
||||
<string name="select_photo">Zvoliť foto</string>
|
||||
<string name="use_default">Použiť predvolený</string>
|
||||
<string name="set_as">Nastaviť ako</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Táto funkcia skryje priečinok pridaním súboru \'.nomedia\', skryté budú aj podpriečinky. Môžete ich vidieť zvolením možnosti \'Zobraziť skryté priečinky\' v nastaveniach. Pokračovať?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Preklopiť vodorovne</string>
|
||||
<string name="flip_vertically">Preklopiť zvisle</string>
|
||||
<string name="out_of_memory_error">Došlo k chybe s nedostatkom pamäte</string>
|
||||
<string name="edit_with">Upraviť s</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Jednoduchá tapeta</string>
|
||||
<string name="set_as_wallpaper">Nastaviť ako tapetu</string>
|
||||
<string name="set_as_wallpaper_failed">Nastavovanie ako tapeta zlyhalo</string>
|
||||
<string name="set_as_wallpaper_with">Nastaviť ako tapetu s:</string>
|
||||
<string name="no_wallpaper_setter_found">Nenašla sa žiadna vhodná aplikácia No app capable of it has been found</string>
|
||||
<string name="no_capable_app_found">Nenašla sa žiadna vhodná aplikácia</string>
|
||||
<string name="setting_wallpaper">Nastavuje sa tapeta…</string>
|
||||
<string name="wallpaper_set_successfully">Tapeta bola úspešne zmenená</string>
|
||||
<string name="portrait_aspect_ratio">Orientácia nastojato</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Zobraziť médiá</string>
|
||||
<string name="images">Iba obrázky</string>
|
||||
<string name="videos">Iba videá</string>
|
||||
<string name="gifs">Iba gifká</string>
|
||||
<string name="images_videos_gifs">Obrázky, videá, gifká</string>
|
||||
<string name="gifs">Iba GIFká</string>
|
||||
<string name="images_videos_gifs">Obrázky, videá, GIFká</string>
|
||||
<string name="images_and_videos">Obrázky aj videá</string>
|
||||
<string name="loop_videos">Automaticky reštartovať videá</string>
|
||||
<string name="animate_gifs">Animovať gif súbory pri náhľade</string>
|
||||
<string name="animate_gifs">Animovať GIF súbory pri náhľade</string>
|
||||
<string name="max_brightness">Maximálny jas pri prezeraní médií</string>
|
||||
<string name="crop_thumbnails">Orezať náhľady na štvorce</string>
|
||||
<string name="screen_rotation_by">Otáčať obrazovku podľa Rotate fullscreen media by</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden folders\' option in Settings. Continue?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Flip horizontally</string>
|
||||
<string name="flip_vertically">Flip vertically</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Bakgrundsbild</string>
|
||||
<string name="set_as_wallpaper">Ange som bakgrundsbild</string>
|
||||
<string name="set_as_wallpaper_failed">Det gick inte att byta bakgrundsbild</string>
|
||||
<string name="set_as_wallpaper_with">Ange som bakgrundsbild med:</string>
|
||||
<string name="no_wallpaper_setter_found">Hittade ingen app som klarar av detta</string>
|
||||
<string name="no_capable_app_found">Hittade ingen app som klarar av detta</string>
|
||||
<string name="setting_wallpaper">Inställningar för bakgrundsbild…</string>
|
||||
<string name="wallpaper_set_successfully">Bakgrundsbilden är ändrad</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Visa media</string>
|
||||
<string name="images">Endast bilder</string>
|
||||
<string name="videos">Endast videos</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Bilder och videos</string>
|
||||
<string name="loop_videos">Återspela videos</string>
|
||||
<string name="animate_gifs">Animate gifs at thumbnails</string>
|
||||
<string name="animate_gifs">Animate GIFs at thumbnails</string>
|
||||
<string name="max_brightness">Max brightness when viewing media</string>
|
||||
<string name="crop_thumbnails">Crop thumbnails into squares</string>
|
||||
<string name="screen_rotation_by">Rotate fullscreen media by</string>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">Bu işlev, klasöre\'.medya yok\'dosyası ekleyerek gizler; tüm alt klasörleri de gizler. Bunları Ayarlar\'da\'Gizli klasörleri göster\'seçeneğine basarak görebilirsiniz. Devam et?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Yatay</string>
|
||||
<string name="flip_vertically">Dikey</string>
|
||||
<string name="out_of_memory_error">Yetersiz bellek hatası</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Basit Duvar Kağıdı</string>
|
||||
<string name="set_as_wallpaper">Duvar kağıdı olarak ayarla</string>
|
||||
<string name="set_as_wallpaper_failed">Duvar Kağıdı Olarak Ayarlanılamıyor</string>
|
||||
<string name="set_as_wallpaper_with">İle duvar kağıdı olarak ayarla:</string>
|
||||
<string name="no_wallpaper_setter_found">Mümkün olan herhangi bir uygulama bulunamadı</string>
|
||||
<string name="no_capable_app_found">Mümkün olan herhangi bir uygulama bulunamadı</string>
|
||||
<string name="setting_wallpaper">Duvar kağıdını ayarlama…</string>
|
||||
<string name="wallpaper_set_successfully">Duvar kağıdı başarıyla ayarlandı</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Medyayı göster</string>
|
||||
<string name="images">Yalnızca resimler</string>
|
||||
<string name="videos">Yalnızca videolar</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Resimler ve videolar</string>
|
||||
<string name="loop_videos">Videolar döngüsü</string>
|
||||
<string name="animate_gifs">Küçük resimlerde gif\'leri canlandırın</string>
|
||||
<string name="animate_gifs">Küçük resimlerde GIF\'leri canlandırın</string>
|
||||
<string name="max_brightness">Ortam görüntülerken azami parlaklık</string>
|
||||
<string name="crop_thumbnails">Küçük resimleri karelere kırp</string>
|
||||
<string name="screen_rotation_by">Tarafından tam ekran medyayı döndür</string>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<resources>
|
||||
<integer name="directory_columns">3</integer>
|
||||
<integer name="media_columns">5</integer>
|
||||
<integer name="directory_columns_vertical_scroll">3</integer>
|
||||
<integer name="directory_columns_horizontal_scroll">3</integer>
|
||||
<integer name="media_columns_vertical_scroll">5</integer>
|
||||
<integer name="media_columns_horizontal_scroll">5</integer>
|
||||
</resources>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<resources>
|
||||
<integer name="directory_columns">4</integer>
|
||||
<integer name="media_columns">7</integer>
|
||||
<integer name="directory_columns_vertical_scroll">4</integer>
|
||||
<integer name="directory_columns_horizontal_scroll">7</integer>
|
||||
<integer name="media_columns_vertical_scroll">7</integer>
|
||||
<integer name="media_columns_horizontal_scroll">8</integer>
|
||||
</resources>
|
||||
|
|
|
@ -5,41 +5,42 @@
|
|||
<string name="edit">编辑</string>
|
||||
<string name="open_camera">打开相机</string>
|
||||
<string name="open_with">打开方式</string>
|
||||
<string name="no_app_found">没有可用的应用</string>
|
||||
<string name="hidden">(隐藏)</string>
|
||||
<string name="pin_folder">锁定目录</string>
|
||||
<string name="unpin_folder">解除锁定目录</string>
|
||||
<string name="show_all">显示目录中所有内容</string>
|
||||
<string name="all_folders">所有目录</string>
|
||||
<string name="folder_view">切换到目录视图</string>
|
||||
<string name="other_folder">其他目录</string>
|
||||
<string name="no_app_found">未找到可用应用</string>
|
||||
<string name="hidden">(隐藏)</string>
|
||||
<string name="pin_folder">锁定文件夹</string>
|
||||
<string name="unpin_folder">解除锁定文件夹</string>
|
||||
<string name="show_all">显示文件夹中所有内容</string>
|
||||
<string name="all_folders">所有文件夹</string>
|
||||
<string name="folder_view">切换到文件夹视图</string>
|
||||
<string name="other_folder">其他文件夹</string>
|
||||
<string name="show_on_map">在地图中显示</string>
|
||||
<string name="unknown_location">未知位置</string>
|
||||
<string name="no_map_application">未发现地图应用</string>
|
||||
<string name="no_camera_app_found">未发现相机应用</string>
|
||||
<string name="increase_column_count">增加一行</string>
|
||||
<string name="reduce_column_count">减少一行</string>
|
||||
<string name="temporarily_show_hidden">显示/隐藏缓存内容</string>
|
||||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="no_map_application">未找到地图应用</string>
|
||||
<string name="no_camera_app_found">未找到相机应用</string>
|
||||
<string name="increase_column_count">增加一栏</string>
|
||||
<string name="reduce_column_count">减少一栏</string>
|
||||
<string name="temporarily_show_hidden">显示/隐藏缓存内容</string>
|
||||
<string name="change_cover_image">更改封面图片</string>
|
||||
<string name="select_photo">选择图片</string>
|
||||
<string name="use_default">使用默认</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">通过添加一个 \'.nomedia\' 文件到目录下,该目录包括子目录下的所有媒体都不会被扫描。 你可以通过设置中的 \'Show hidden folders\' 选项改变设置, 继续?</string>
|
||||
<string name="hide_folder_description">通过添加文件 \'.nomedia\' 到文件夹,可以防止文件夹及其子文件夹下的所有媒体被扫描。您可以通过设置中的 \'显示隐藏文件夹\' 选项改变设置,是否继续?</string>
|
||||
<string name="exclude">排除</string>
|
||||
<string name="excluded_folders">排除目录</string>
|
||||
<string name="manage_excluded_folders">管理排除的目录</string>
|
||||
<string name="exclude_folder_description">目录及其子目录中的媒体将不会在Simple Gallery中显示,你可以修改设置。</string>
|
||||
<string name="exclude_folder_parent">Exclude a parent instead?</string>
|
||||
<string name="excluded_activity_placeholder">此处的目录及其子目录中的媒体将不会在Simple Gallery中显示,但是其它应用可以访问。\\n\\n如果你想对其它应用隐藏,请使用隐藏功能。</string>
|
||||
<string name="excluded_folders">排除文件夹</string>
|
||||
<string name="manage_excluded_folders">管理排除文件夹</string>
|
||||
<string name="exclude_folder_description">文件夹及其子文件夹中的媒体将不会在 Simple Gallery 中显示,您可以在设置更改。</string>
|
||||
<string name="exclude_folder_parent">是否排除父文件夹?</string>
|
||||
<string name="excluded_activity_placeholder">此文件夹及其子文件夹中的媒体将不会在 Simple Gallery 中显示,但是其它应用可以访问。\\n\\n如果您想对其它应用隐藏,请使用隐藏功能。</string>
|
||||
<string name="remove_all">移除全部</string>
|
||||
<string name="remove_all_description">移除列表中的全部目录?目录不会被删除。</string>
|
||||
<string name="remove_all_description">是否移除列表中的全部文件夹?文件夹不会被物理删除。</string>
|
||||
|
||||
<!-- Include folders -->
|
||||
<string name="include_folders">包含目录</string>
|
||||
<string name="manage_included_folders">管理包含的目录</string>
|
||||
<string name="add_folder">添加目录</string>
|
||||
<string name="included_activity_placeholder">如果你还有应用未扫描到的媒体文件,可以将所在目录路径添加到这里。</string>
|
||||
<string name="include_folders">包含文件夹</string>
|
||||
<string name="manage_included_folders">管理包含文件夹</string>
|
||||
<string name="add_folder">添加文件夹</string>
|
||||
<string name="included_activity_placeholder">如果您还有应用未扫描到的媒体文件,请添加所在文件夹路径。</string>
|
||||
|
||||
<!-- Resizing -->
|
||||
<string name="resize">缩放</string>
|
||||
|
@ -47,17 +48,17 @@
|
|||
<string name="width">宽度</string>
|
||||
<string name="height">高度</string>
|
||||
<string name="keep_aspect_ratio">保持纵横比</string>
|
||||
<string name="invalid_values">请输入合法的分辨率</string>
|
||||
<string name="invalid_values">请输入有效分辨率</string>
|
||||
|
||||
<!-- Editor -->
|
||||
<string name="editor">编辑器</string>
|
||||
<string name="save">保存</string>
|
||||
<string name="rotate">旋转</string>
|
||||
<string name="path">路径</string>
|
||||
<string name="invalid_image_path">无效的图片路径</string>
|
||||
<string name="image_editing_failed">图像编辑失败</string>
|
||||
<string name="edit_image_with">编辑方式:</string>
|
||||
<string name="no_editor_found">没有可用的图片编辑器</string>
|
||||
<string name="invalid_image_path">无效图片路径</string>
|
||||
<string name="image_editing_failed">图片编辑失败</string>
|
||||
<string name="edit_image_with">编辑方式:</string>
|
||||
<string name="no_editor_found">未找到可用图片编辑器</string>
|
||||
<string name="unknown_file_location">未知的文件路径</string>
|
||||
<string name="error_saving_file">不能覆盖源文件</string>
|
||||
<string name="rotate_left">向左旋转</string>
|
||||
|
@ -66,16 +67,17 @@
|
|||
<string name="flip">翻转</string>
|
||||
<string name="flip_horizontally">水平翻转</string>
|
||||
<string name="flip_vertically">垂直翻转</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="out_of_memory_error">内存不足</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Simple Wallpaper</string>
|
||||
<string name="set_as_wallpaper">设为壁纸</string>
|
||||
<string name="set_as_wallpaper_failed">壁纸设置失败</string>
|
||||
<string name="set_as_wallpaper_with">设为壁纸...</string>
|
||||
<string name="no_wallpaper_setter_found">没有应用可用</string>
|
||||
<string name="setting_wallpaper">壁纸应用中…</string>
|
||||
<string name="wallpaper_set_successfully">壁纸应用成功</string>
|
||||
<string name="no_capable_app_found">未找到可用应用</string>
|
||||
<string name="setting_wallpaper">正在设置壁纸…</string>
|
||||
<string name="wallpaper_set_successfully">壁纸设置成功</string>
|
||||
<string name="portrait_aspect_ratio">纵向长宽比</string>
|
||||
<string name="landscape_aspect_ratio">横向长宽比</string>
|
||||
|
||||
|
@ -84,10 +86,10 @@
|
|||
<string name="autoplay_videos">自动播放</string>
|
||||
<string name="toggle_filename">显示文件名</string>
|
||||
<string name="show_media">显示多媒体文件</string>
|
||||
<string name="images">仅图像</string>
|
||||
<string name="images">仅图片</string>
|
||||
<string name="videos">仅视频</string>
|
||||
<string name="gifs">仅 GIF </string>
|
||||
<string name="images_videos_gifs">图片, 视频, GIF</string>
|
||||
<string name="images_videos_gifs">图片,视频,GIF</string>
|
||||
<string name="images_and_videos">图片和视频</string>
|
||||
<string name="loop_videos">循环播放视频</string>
|
||||
<string name="animate_gifs">GIF 缩略图</string>
|
||||
|
@ -98,7 +100,7 @@
|
|||
<string name="screen_rotation_device_rotation">设备方向</string>
|
||||
<string name="screen_rotation_aspect_ratio">根据长宽比</string>
|
||||
<string name="dark_background_at_fullscreen">全屏时黑色背景</string>
|
||||
<string name="scroll_thumbnails_horizontally">Scroll thumbnails horizontally</string>
|
||||
<string name="scroll_thumbnails_horizontally">水平滚动缩略图</string>
|
||||
|
||||
<!-- Strings displayed only on Google Playstore. Optional, but good to have -->
|
||||
<!-- Short description has to have less than 80 chars -->
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden folders\' option in Settings. Continue?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Flip horizontally</string>
|
||||
<string name="flip_vertically">Flip vertically</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">簡易桌布</string>
|
||||
<string name="set_as_wallpaper">設定為桌布</string>
|
||||
<string name="set_as_wallpaper_failed">桌布設定失敗</string>
|
||||
<string name="set_as_wallpaper_with">用其他應用軟體設定桌布……</string>
|
||||
<string name="no_wallpaper_setter_found">沒有可用的應用軟體</string>
|
||||
<string name="no_capable_app_found">沒有可用的應用軟體</string>
|
||||
<string name="setting_wallpaper">正在應用軟體桌布…</string>
|
||||
<string name="wallpaper_set_successfully">成功應用軟體桌布</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">秀出多媒體檔案</string>
|
||||
<string name="images">僅圖片</string>
|
||||
<string name="videos">僅影片</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">圖片和影片</string>
|
||||
<string name="loop_videos">迴圈播放影片</string>
|
||||
<string name="animate_gifs">Animate gifs at thumbnails</string>
|
||||
<string name="animate_gifs">Animate GIFs at thumbnails</string>
|
||||
<string name="max_brightness">Max brightness when viewing media</string>
|
||||
<string name="crop_thumbnails">Crop thumbnails into squares</string>
|
||||
<string name="screen_rotation_by">Rotate fullscreen media by</string>
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<resources>
|
||||
<integer name="directory_columns">2</integer>
|
||||
<integer name="media_columns">3</integer>
|
||||
<integer name="directory_columns_vertical_scroll">2</integer>
|
||||
<integer name="directory_columns_horizontal_scroll">3</integer>
|
||||
<integer name="media_columns_vertical_scroll">3</integer>
|
||||
<integer name="media_columns_horizontal_scroll">4</integer>
|
||||
</resources>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
<string name="change_cover_image">Change cover image</string>
|
||||
<string name="select_photo">Select photo</string>
|
||||
<string name="use_default">Use default</string>
|
||||
<string name="set_as">Set as</string>
|
||||
|
||||
<!-- Hide / Exclude -->
|
||||
<string name="hide_folder_description">This function hides the folder by adding a \'.nomedia\' file into it, it will hide all subfolders too. You can see them by toggling the \'Show hidden folders\' option in Settings. Continue?</string>
|
||||
|
@ -67,13 +68,14 @@
|
|||
<string name="flip_horizontally">Flip horizontally</string>
|
||||
<string name="flip_vertically">Flip vertically</string>
|
||||
<string name="out_of_memory_error">Out of memory error</string>
|
||||
<string name="edit_with">Edit with</string>
|
||||
|
||||
<!-- Set wallpaper -->
|
||||
<string name="simple_wallpaper">Simple Wallpaper</string>
|
||||
<string name="set_as_wallpaper">Set as Wallpaper</string>
|
||||
<string name="set_as_wallpaper_failed">Setting as Wallpaper failed</string>
|
||||
<string name="set_as_wallpaper_with">Set as wallpaper with:</string>
|
||||
<string name="no_wallpaper_setter_found">No app capable of it has been found</string>
|
||||
<string name="no_capable_app_found">No app capable of it has been found</string>
|
||||
<string name="setting_wallpaper">Setting wallpaper…</string>
|
||||
<string name="wallpaper_set_successfully">Wallpaper set successfully</string>
|
||||
<string name="portrait_aspect_ratio">Portrait aspect ratio</string>
|
||||
|
@ -86,11 +88,11 @@
|
|||
<string name="show_media">Show media</string>
|
||||
<string name="images">Images only</string>
|
||||
<string name="videos">Videos only</string>
|
||||
<string name="gifs">Gifs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, gifs</string>
|
||||
<string name="gifs">GIFs only</string>
|
||||
<string name="images_videos_gifs">Images, videos, GIFs</string>
|
||||
<string name="images_and_videos">Images and videos</string>
|
||||
<string name="loop_videos">Loop videos</string>
|
||||
<string name="animate_gifs">Animate gifs at thumbnails</string>
|
||||
<string name="animate_gifs">Animate GIFs at thumbnails</string>
|
||||
<string name="max_brightness">Max brightness when viewing media</string>
|
||||
<string name="crop_thumbnails">Crop thumbnails into squares</string>
|
||||
<string name="screen_rotation_by">Rotate fullscreen media by</string>
|
||||
|
|
|
@ -5,7 +5,7 @@ buildscript {
|
|||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:2.3.2'
|
||||
classpath 'com.android.tools.build:gradle:2.3.3'
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
// in the individual module build.gradle files
|
||||
|
|
Loading…
Reference in a new issue