mirror of
				https://github.com/SimpleMobileTools/Simple-File-Manager.git
				synced 2025-06-05 22:09:15 +02:00 
			
		
		
		
	allow opening folders from search results
This commit is contained in:
		| @@ -160,7 +160,7 @@ class ItemsAdapter(activity: SimpleActivity, var listItems: MutableList<ListItem | |||||||
|  |  | ||||||
|     override fun onBindViewHolder(holder: MyRecyclerViewAdapter.ViewHolder, position: Int) { |     override fun onBindViewHolder(holder: MyRecyclerViewAdapter.ViewHolder, position: Int) { | ||||||
|         val fileDirItem = listItems[position] |         val fileDirItem = listItems[position] | ||||||
|         holder.bindView(fileDirItem, !fileDirItem.isSectionTitle, !fileDirItem.isSectionTitle) { itemView, layoutPosition -> |         holder.bindView(fileDirItem, true, !fileDirItem.isSectionTitle) { itemView, layoutPosition -> | ||||||
|             setupView(itemView, fileDirItem) |             setupView(itemView, fileDirItem) | ||||||
|         } |         } | ||||||
|         bindViewHolder(holder) |         bindViewHolder(holder) | ||||||
|   | |||||||
| @@ -175,7 +175,12 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb | |||||||
|  |  | ||||||
|                 storedItems = items |                 storedItems = items | ||||||
|                 ItemsAdapter(activity as SimpleActivity, storedItems, this@ItemsFragment, items_list, isPickMultipleIntent, items_fastscroller) { |                 ItemsAdapter(activity as SimpleActivity, storedItems, this@ItemsFragment, items_list, isPickMultipleIntent, items_fastscroller) { | ||||||
|                     itemClicked(it as FileDirItem) |                     if ((it as? ListItem)?.isSectionTitle == true) { | ||||||
|  |                         openDirectory(it.mPath) | ||||||
|  |                         searchClosed() | ||||||
|  |                     } else { | ||||||
|  |                         itemClicked(it as FileDirItem) | ||||||
|  |                     } | ||||||
|                 }.apply { |                 }.apply { | ||||||
|                     setupZoomListener(zoomListener) |                     setupZoomListener(zoomListener) | ||||||
|                     items_list.adapter = this |                     items_list.adapter = this | ||||||
| @@ -278,11 +283,7 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb | |||||||
|  |  | ||||||
|     private fun itemClicked(item: FileDirItem) { |     private fun itemClicked(item: FileDirItem) { | ||||||
|         if (item.isDirectory) { |         if (item.isDirectory) { | ||||||
|             (activity as? MainActivity)?.apply { |             openDirectory(item.path) | ||||||
|                 skipItemUpdating = isSearchOpen |  | ||||||
|                 openedDirectory() |  | ||||||
|             } |  | ||||||
|             openPath(item.path) |  | ||||||
|         } else { |         } else { | ||||||
|             val path = item.path |             val path = item.path | ||||||
|             if (isGetContentIntent) { |             if (isGetContentIntent) { | ||||||
| @@ -299,6 +300,14 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     private fun openDirectory(path: String) { | ||||||
|  |         (activity as? MainActivity)?.apply { | ||||||
|  |             skipItemUpdating = isSearchOpen | ||||||
|  |             openedDirectory() | ||||||
|  |         } | ||||||
|  |         openPath(path) | ||||||
|  |     } | ||||||
|  |  | ||||||
|     fun searchQueryChanged(text: String) { |     fun searchQueryChanged(text: String) { | ||||||
|         val searchText = text.trim() |         val searchText = text.trim() | ||||||
|         lastSearchedText = searchText |         lastSearchedText = searchText | ||||||
| @@ -337,7 +346,8 @@ class ItemsFragment : Fragment(), ItemOperationsListener, Breadcrumbs.Breadcrumb | |||||||
|                     files.forEach { |                     files.forEach { | ||||||
|                         val parent = it.mPath.getParentPath() |                         val parent = it.mPath.getParentPath() | ||||||
|                         if (parent != previousParent && context != null) { |                         if (parent != previousParent && context != null) { | ||||||
|                             listItems.add(ListItem("", context!!.humanizePath(parent), false, 0, 0, 0, true)) |                             val sectionTitle = ListItem(parent, context!!.humanizePath(parent), false, 0, 0, 0, true) | ||||||
|  |                             listItems.add(sectionTitle) | ||||||
|                             previousParent = parent |                             previousParent = parent | ||||||
|                         } |                         } | ||||||
|                         listItems.add(it) |                         listItems.add(it) | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ | |||||||
|     android:id="@+id/item_section" |     android:id="@+id/item_section" | ||||||
|     android:layout_width="match_parent" |     android:layout_width="match_parent" | ||||||
|     android:layout_height="wrap_content" |     android:layout_height="wrap_content" | ||||||
|  |     android:background="?attr/selectableItemBackground" | ||||||
|     android:paddingStart="@dimen/normal_margin" |     android:paddingStart="@dimen/normal_margin" | ||||||
|     android:paddingTop="@dimen/activity_margin" |     android:paddingTop="@dimen/activity_margin" | ||||||
|     android:paddingEnd="@dimen/normal_margin" |     android:paddingEnd="@dimen/normal_margin" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user