From a29fab8db0b2974979b2d6fcd93dd03e89e86383 Mon Sep 17 00:00:00 2001 From: Barad7987 Date: Sun, 15 Mar 2020 16:08:58 +0530 Subject: [PATCH] better UI and bug fixing --- assets/doc.jpeg | Bin 0 -> 13520 bytes assets/image.jpeg | Bin 0 -> 17395 bytes assets/music1.jpeg | Bin 0 -> 15335 bytes assets/video.jpeg | Bin 0 -> 15028 bytes lib/displays/audios_display.dart | 36 ++++++++++++---------------- lib/displays/category_display.dart | 18 ++------------ lib/displays/docs_display.dart | 36 +++++++++++++--------------- lib/displays/duplicate_display.dart | 16 ++++--------- lib/displays/folder_display.dart | 36 +++++++++++++++------------- lib/displays/images_display.dart | 29 +++++++--------------- lib/displays/video_display.dart | 34 +++++++++++--------------- lib/utilities/dir_utils.dart | 4 ++++ lib/views/file_folder_dialog.dart | 16 ++++++------- lib/views/popup_menu.dart | 8 +++---- pubspec.lock | 7 ++++++ pubspec.yaml | 5 ++++ 16 files changed, 107 insertions(+), 138 deletions(-) create mode 100644 assets/doc.jpeg create mode 100644 assets/image.jpeg create mode 100644 assets/music1.jpeg create mode 100644 assets/video.jpeg diff --git a/assets/doc.jpeg b/assets/doc.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8b646ed0f2991e37a87e37b3b0b144f5f1daacfe GIT binary patch literal 13520 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 literal 0 HcmV?d00001 diff --git a/assets/music1.jpeg b/assets/music1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9f2469fca3135dc4ae3a71a10be6b255c88f242e GIT binary patch literal 15335 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 HHSxayC7hz? literal 0 HcmV?d00001 diff --git a/lib/displays/audios_display.dart b/lib/displays/audios_display.dart index 4361cf4..e99b067 100644 --- a/lib/displays/audios_display.dart +++ b/lib/displays/audios_display.dart @@ -54,14 +54,14 @@ class _AudioDisplayScreenState extends State style: TextStyle(fontSize: 14.0), maxLines: 3, ), - leading: BackButton(onPressed: () { - if (coreNotifier.currentPath.absolute.path == pathlib.separator) { - Navigator.popUntil( - context, ModalRoute.withName(Navigator.defaultRouteName)); - } else { - coreNotifier.navigateBackdward(); - } - }), + // leading: BackButton(onPressed: () { + // if (coreNotifier.currentPath.absolute.path == pathlib.separator) { + // Navigator.popUntil( + // context, ModalRoute.withName(Navigator.defaultRouteName)); + // } else { + // coreNotifier.navigateBackdward(); + // } + // }), actions: [ IconButton( // Go home @@ -100,30 +100,24 @@ class _AudioDisplayScreenState extends State if (snapshot.hasError) { return Center(child: Text('Error: ${snapshot.error}')); } else if (snapshot.data.length != 0) { - return GridView.builder( - physics: const AlwaysScrollableScrollPhysics(), - controller: _scrollController, - key: PageStorageKey(widget.path), - padding: - EdgeInsets.only(left: 10.0, right: 10.0, top: 0), - gridDelegate: - SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 4), + return ListView.builder( itemCount: snapshot.data.length, itemBuilder: (context, index) { if (snapshot.data[index] is MyFile) { //print(snapshot.data[index].path); //String s = pathlib.extension(snapshot.data[index].path); String s = mime(snapshot.data[index].path); - print(s); + // print(s); if (s == 'audio/mpeg' || s == 'audio/basic' || s == 'audio/mid ' || s == 'audio/x-aiff' || s == 'audio/ogg' || s == 'audio/vnd.wav') { - return FileWidget( - name: snapshot.data[index].name, + return Card( + child: ListTile( + leading: Image.asset('assets/music1.jpeg'), + title:Text(snapshot.data[index].name), onTap: () { _printFuture(OpenFile.open( snapshot.data[index].path)); @@ -136,7 +130,7 @@ class _AudioDisplayScreenState extends State name: snapshot.data[index].name, )); }, - ); + )); } } return Container(); diff --git a/lib/displays/category_display.dart b/lib/displays/category_display.dart index 801e956..b009fad 100644 --- a/lib/displays/category_display.dart +++ b/lib/displays/category_display.dart @@ -20,24 +20,10 @@ class CategoryWise extends StatelessWidget { "Browse Category Wise", ), backgroundColor: Colors.blueGrey, - leading: BackButton(onPressed: () { - if (coreNotifier.currentPath.absolute.path == pathlib.separator) { - Navigator.popUntil( - context, ModalRoute.withName(Navigator.defaultRouteName)); - } else { - coreNotifier.navigateBackdward(); - } - }), + ), - // body: ListView( - // children: [ - // _tile('Images', '', 'assets/imgicon.png'), - // _tile('Audios', '', 'assets/musicicon.png'), - // _tile('Videos', '', 'assets/videoicon.png'), - // _tile('Documents', '', 'assets/docicon.png'), - // ], - // ) + body: ListView( children: [ Card( diff --git a/lib/displays/docs_display.dart b/lib/displays/docs_display.dart index 7b5277f..16f74f6 100644 --- a/lib/displays/docs_display.dart +++ b/lib/displays/docs_display.dart @@ -55,14 +55,14 @@ class _DocsDisplayScreenState extends State style: TextStyle(fontSize: 14.0), maxLines: 3, ), - leading: BackButton(onPressed: () { - if (coreNotifier.currentPath.absolute.path == pathlib.separator) { - Navigator.popUntil( - context, ModalRoute.withName(Navigator.defaultRouteName)); - } else { - coreNotifier.navigateBackdward(); - } - }), + // leading: BackButton(onPressed: () { + // if (coreNotifier.currentPath.absolute.path == pathlib.separator) { + // Navigator.popUntil( + // context, ModalRoute.withName(Navigator.defaultRouteName)); + // } else { + // coreNotifier.navigateBackdward(); + // } + // }), actions: [ IconButton( // Go home @@ -101,15 +101,7 @@ class _DocsDisplayScreenState extends State if (snapshot.hasError) { return Center(child: Text('Error: ${snapshot.error}')); } else if (snapshot.data.length != 0) { - return GridView.builder( - physics: const AlwaysScrollableScrollPhysics(), - controller: _scrollController, - key: PageStorageKey(widget.path), - padding: - EdgeInsets.only(left: 10.0, right: 10.0, top: 0), - gridDelegate: - SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 4), + return ListView.builder( itemCount: snapshot.data.length, itemBuilder: (context, index) { if (snapshot.data[index] is MyFile) { @@ -132,8 +124,12 @@ class _DocsDisplayScreenState extends State s == 'application/x-tar' || s == 'application/zip' || s == 'application/x-7z-compressed') { - return FileWidget( - name: snapshot.data[index].name, + return Card( + + + child: ListTile( + leading:Image.asset('assets/doc.jpeg'), + title: Text(snapshot.data[index].name), onTap: () { _printFuture(OpenFile.open( snapshot.data[index].path)); @@ -146,7 +142,7 @@ class _DocsDisplayScreenState extends State name: snapshot.data[index].name, )); }, - ); + )); } } return Container(); diff --git a/lib/displays/duplicate_display.dart b/lib/displays/duplicate_display.dart index 0fc0a42..de69fd2 100644 --- a/lib/displays/duplicate_display.dart +++ b/lib/displays/duplicate_display.dart @@ -137,7 +137,7 @@ class _DuplicateFileDisplayScreenState extends State @override Widget build(BuildContext context) { - super.build(context); + super.build(context); final preferences = Provider.of(context); var coreNotifier = Provider.of(context); //var list1 = new List(); @@ -149,14 +149,7 @@ class _DuplicateFileDisplayScreenState extends State style: TextStyle(fontSize: 14.0), maxLines: 3, ), - leading: BackButton(onPressed: () { - if (coreNotifier.currentPath.absolute.path == pathlib.separator) { - Navigator.popUntil( - context, ModalRoute.withName(Navigator.defaultRouteName)); - } else { - coreNotifier.navigateBackdward(); - } - }), + actions: [ IconButton( // Go home @@ -204,7 +197,8 @@ class _DuplicateFileDisplayScreenState extends State return ListView.builder( itemCount: snapshot1.data.length, itemBuilder: (context, index){ - return ListTile( + return Card( + child:ListTile( leading:Image.asset('assets/fileicon1.png'), title: Text(snapshot1.data[index].name), onTap: () { @@ -219,7 +213,7 @@ class _DuplicateFileDisplayScreenState extends State name: snapshot1.data[index].name, )); }, - ); + )); }, ); diff --git a/lib/displays/folder_display.dart b/lib/displays/folder_display.dart index b101b73..e3ba215 100644 --- a/lib/displays/folder_display.dart +++ b/lib/displays/folder_display.dart @@ -1,4 +1,3 @@ -// framework import 'package:file_explorer/views/create_folder_dialog.dart'; import 'package:flutter/material.dart'; @@ -30,7 +29,7 @@ class FolderListScreen extends StatefulWidget { const FolderListScreen({@required this.path, this.home: false}) : assert(path != null); @override - _FolderListScreenState createState() => _FolderListScreenState(); + _FolderListScreenState createState() => _FolderListScreenState(path:this.path); } class _FolderListScreenState extends State @@ -38,9 +37,14 @@ class _FolderListScreenState extends State ScrollController _scrollController; @override void initState() { + + _scrollController = ScrollController(keepScrollOffset: true); super.initState(); } + String path; + _FolderListScreenState({this.path}); + @override void dispose() { @@ -55,16 +59,12 @@ class _FolderListScreenState extends State var coreNotifier = Provider.of(context); return Scaffold( - drawer: new Drawer( + drawer:this.path=='/storage/emulated/0/'? new Drawer( child: new ListView( children: [ new UserAccountsDrawerHeader( - // currentAccountPicture: new CircleAvatar( - // //backgroundColor:defaultTargetPlatform == TargetPlatform.android?Colors.green:null, - // backgroundColor: Colors.lime, - // child: new Text("Swift Drawer"), - // ), - accountEmail: null, + + accountEmail:null, accountName: null, ), new ListTile( @@ -72,11 +72,12 @@ class _FolderListScreenState extends State title: Text('Images'), dense: false, onTap: () { + Navigator.pop(context); Navigator.push( context, MaterialPageRoute( builder: (context) => - ImageDisplayScreen(path: '/storage/emulated/0/'))); + ImageDisplayScreen(path: this.path))); }, ), new ListTile( @@ -88,7 +89,7 @@ class _FolderListScreenState extends State context, MaterialPageRoute( builder: (context) => - AudioDisplayScreen(path: '/storage/emulated/0/'))); + AudioDisplayScreen(path: this.path))); }, ), new ListTile( @@ -100,7 +101,7 @@ class _FolderListScreenState extends State context, MaterialPageRoute( builder: (context) => - DocsDisplayScreen(path: '/storage/emulated/0/'))); + DocsDisplayScreen(path:this.path))); }, ), new ListTile( @@ -112,7 +113,7 @@ class _FolderListScreenState extends State context, MaterialPageRoute( builder: (context) => - VIdeoDisplayScreen(path: '/storage/emulated/0/'))); + VIdeoDisplayScreen(path:this.path))); }, ), new ListTile( @@ -124,18 +125,19 @@ class _FolderListScreenState extends State context, MaterialPageRoute( builder: (context) => DuplicateFileDisplayScreen( - path: '/storage/emulated/0/'))); + path:this.path))); }, ) ], - )), + )):null, appBar: AppBar( - title: Text( + title:this.path.startsWith('/storage/emulated/0/')? Text( "Internal Storage", //coreNotifier.currentPath.absolute.path, style: TextStyle(fontSize: 14.0), maxLines: 3, - ), + ):Text("External Storage",style: TextStyle(fontSize: 14.0), + maxLines: 3,), actions: [ IconButton( // Go home diff --git a/lib/displays/images_display.dart b/lib/displays/images_display.dart index 6d54b10..c681843 100644 --- a/lib/displays/images_display.dart +++ b/lib/displays/images_display.dart @@ -55,20 +55,14 @@ class _ImageDisplayScreenState extends State style: TextStyle(fontSize: 14.0), maxLines: 3, ), - leading: BackButton(onPressed: () { - if (coreNotifier.currentPath.absolute.path == pathlib.separator) { - Navigator.popUntil( - context, ModalRoute.withName(Navigator.defaultRouteName)); - } else { - coreNotifier.navigateBackdward(); - } - }), + // actions: [ IconButton( // Go home onPressed: () { Navigator.popUntil( context, ModalRoute.withName(Navigator.defaultRouteName)); + // Navigator.pop(context); }, icon: Icon(Icons.home), ), @@ -101,15 +95,7 @@ class _ImageDisplayScreenState extends State if (snapshot.hasError) { return Center(child: Text('Error: ${snapshot.error}')); } else if (snapshot.data.length != 0) { - return GridView.builder( - physics: const AlwaysScrollableScrollPhysics(), - controller: _scrollController, - key: PageStorageKey(widget.path), - padding: - EdgeInsets.only(left: 10.0, right: 10.0, top: 0), - gridDelegate: - SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 4), + return ListView.builder( itemCount: snapshot.data.length, itemBuilder: (context, index) { String s = mime(snapshot.data[index].path); @@ -125,8 +111,9 @@ class _ImageDisplayScreenState extends State s == 'image/png')) { //print(s); - return FileWidget( - name: snapshot.data[index].name, + return Card(child:ListTile( + leading:Image.asset('assets/image.jpeg'), + title:Text(snapshot.data[index].name), onTap: () { _printFuture( OpenFile.open(snapshot.data[index].path)); @@ -139,10 +126,10 @@ class _ImageDisplayScreenState extends State name: snapshot.data[index].name, )); }, - ); + )); } - return Container(); + return Container(); }); } else { return Center( diff --git a/lib/displays/video_display.dart b/lib/displays/video_display.dart index e368902..4fcc076 100644 --- a/lib/displays/video_display.dart +++ b/lib/displays/video_display.dart @@ -55,14 +55,14 @@ class _VIdeoDisplayScreenState extends State style: TextStyle(fontSize: 14.0), maxLines: 3, ), - leading: BackButton(onPressed: () { - if (coreNotifier.currentPath.absolute.path == pathlib.separator) { - Navigator.popUntil( - context, ModalRoute.withName(Navigator.defaultRouteName)); - } else { - coreNotifier.navigateBackdward(); - } - }), + // leading: BackButton(onPressed: () { + // if (coreNotifier.currentPath.absolute.path == pathlib.separator) { + // Navigator.popUntil( + // context, ModalRoute.withName(Navigator.defaultRouteName)); + // } else { + // coreNotifier.navigateBackdward(); + // } + // }), actions: [ IconButton( // Go home @@ -101,15 +101,7 @@ class _VIdeoDisplayScreenState extends State if (snapshot.hasError) { return Center(child: Text('Error: ${snapshot.error}')); } else if (snapshot.data.length != 0) { - return GridView.builder( - physics: const AlwaysScrollableScrollPhysics(), - controller: _scrollController, - key: PageStorageKey(widget.path), - padding: - EdgeInsets.only(left: 10.0, right: 10.0, top: 0), - gridDelegate: - SliverGridDelegateWithFixedCrossAxisCount( - crossAxisCount: 4), + return ListView.builder( itemCount: snapshot.data.length, itemBuilder: (context, index) { if (snapshot.data[index] is MyFile) { @@ -121,8 +113,10 @@ class _VIdeoDisplayScreenState extends State s == 'video/3gpp' || s == 'video/x-msvideo' || s == 'video/x-ms-wmv') { - return FileWidget( - name: snapshot.data[index].name, + return Card( + child:ListTile( + leading: Image.asset('assets/video.jpeg'), + title: Text(snapshot.data[index].name), onTap: () { _printFuture(OpenFile.open( snapshot.data[index].path)); @@ -135,7 +129,7 @@ class _VIdeoDisplayScreenState extends State name: snapshot.data[index].name, )); }, - ); + )); } } return Container(); diff --git a/lib/utilities/dir_utils.dart b/lib/utilities/dir_utils.dart index 9d8aee8..b796b8e 100644 --- a/lib/utilities/dir_utils.dart +++ b/lib/utilities/dir_utils.dart @@ -172,6 +172,10 @@ Future> searchFiles(dynamic path, String query, return files; } +//------------------------------------------ + + + Future> searchDuplicateFiles(dynamic path, String query, {bool matchCase: false, recursive: true, bool hidden: false}) async { int start = DateTime.now().millisecondsSinceEpoch; diff --git a/lib/views/file_folder_dialog.dart b/lib/views/file_folder_dialog.dart index aa08228..3480363 100644 --- a/lib/views/file_folder_dialog.dart +++ b/lib/views/file_folder_dialog.dart @@ -98,14 +98,14 @@ class FileContextDialog extends StatelessWidget { ), // copy single files - SimpleDialogOption( - onPressed: () { - Navigator.pop(context); - model.copyFile(path); - }, - child: ListTile( - leading: Icon(Icons.content_copy), - title: Text('Copy'))), + // SimpleDialogOption( + // onPressed: () { + // Navigator.pop(context); + // model.copyFile(path); + // }, + // child: ListTile( + // leading: Icon(Icons.content_copy), + // title: Text('Copy'))), SimpleDialogOption( onPressed: () { diff --git a/lib/views/popup_menu.dart b/lib/views/popup_menu.dart index df2ea79..bc6ccf6 100644 --- a/lib/views/popup_menu.dart +++ b/lib/views/popup_menu.dart @@ -42,10 +42,10 @@ class AppBarPopupMenu extends StatelessWidget { //... }, itemBuilder: (BuildContext context) => >[ - PopupMenuItem( - enabled: model.copyList.isNotEmpty, - value: 'paste', - child: Text('Paste Here')), + // PopupMenuItem( + // enabled: model.copyList.isNotEmpty, + // value: 'paste', + // child: Text('Paste Here')), const PopupMenuItem( value: 'refresh', child: Text('Refresh')), diff --git a/pubspec.lock b/pubspec.lock index fc90a7a..b39bec5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -219,6 +219,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.1" + progress_dialog: + dependency: "direct main" + description: + name: progress_dialog + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" provider: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index 21051d3..354939b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,6 +38,7 @@ dependencies: esys_flutter_share: ^1.0.2 mime_type: ^0.2.4 flutter_launcher_icons: ^0.7.4 + progress_dialog: ^1.2.1 # The following adds the Cupertino Icons font to your application. @@ -76,6 +77,10 @@ flutter: - assets/musicicon.png - assets/videoicon.png - assets/duplicateicon.png + - assets/doc.jpeg + - assets/image.jpeg + - assets/music1.jpeg + - assets/video.jpeg # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware.