mirror of
https://github.com/GitJournal/GitJournal.git
synced 2025-06-29 02:07:39 +08:00
Remove the Compact View
I need to merge it into the StandardView. The more I think about it, the more this view doesn't make sense. Specially since I need to add the same extra configuration options in both views.
This commit is contained in:
@ -2,7 +2,6 @@ import 'package:fimber/fimber.dart';
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:gitjournal/core/note.dart';
|
import 'package:gitjournal/core/note.dart';
|
||||||
import 'package:gitjournal/core/notes_folder.dart';
|
import 'package:gitjournal/core/notes_folder.dart';
|
||||||
import 'package:gitjournal/folder_views/compact_view.dart';
|
|
||||||
import 'package:gitjournal/folder_views/journal_view.dart';
|
import 'package:gitjournal/folder_views/journal_view.dart';
|
||||||
import 'package:gitjournal/screens/note_editor.dart';
|
import 'package:gitjournal/screens/note_editor.dart';
|
||||||
import 'package:gitjournal/utils.dart';
|
import 'package:gitjournal/utils.dart';
|
||||||
@ -12,7 +11,6 @@ import 'standard_view.dart';
|
|||||||
enum FolderViewType {
|
enum FolderViewType {
|
||||||
Standard,
|
Standard,
|
||||||
Journal,
|
Journal,
|
||||||
Compact,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget buildFolderView(
|
Widget buildFolderView(
|
||||||
@ -47,12 +45,6 @@ Widget buildFolderView(
|
|||||||
noteSelectedFunction: noteSelectionFn,
|
noteSelectedFunction: noteSelectionFn,
|
||||||
emptyText: emptyText,
|
emptyText: emptyText,
|
||||||
);
|
);
|
||||||
case FolderViewType.Compact:
|
|
||||||
return CompactView(
|
|
||||||
folder: folder,
|
|
||||||
noteSelectedFunction: noteSelectionFn,
|
|
||||||
emptyText: emptyText,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(false, "Code path should never be executed");
|
assert(false, "Code path should never be executed");
|
||||||
|
@ -1,80 +0,0 @@
|
|||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:gitjournal/folder_views/list_view.dart';
|
|
||||||
|
|
||||||
import 'package:intl/intl.dart';
|
|
||||||
|
|
||||||
import 'package:gitjournal/core/note.dart';
|
|
||||||
import 'package:gitjournal/core/notes_folder.dart';
|
|
||||||
|
|
||||||
class CompactView extends StatelessWidget {
|
|
||||||
final NoteSelectedFunction noteSelectedFunction;
|
|
||||||
final NotesFolderReadOnly folder;
|
|
||||||
final String emptyText;
|
|
||||||
|
|
||||||
CompactView({
|
|
||||||
@required this.folder,
|
|
||||||
@required this.noteSelectedFunction,
|
|
||||||
@required this.emptyText,
|
|
||||||
});
|
|
||||||
|
|
||||||
@override
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return FolderListView(
|
|
||||||
folder: folder,
|
|
||||||
noteSelectedFunction: noteSelectedFunction,
|
|
||||||
emptyText: emptyText,
|
|
||||||
noteTileBuilder: _buildRow,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget _buildRow(BuildContext context, Note note) {
|
|
||||||
var textTheme = Theme.of(context).textTheme;
|
|
||||||
|
|
||||||
var title = note.title;
|
|
||||||
if (title == null || title.isEmpty) {
|
|
||||||
title = note.summary;
|
|
||||||
}
|
|
||||||
var titleTheme = textTheme.title;
|
|
||||||
Widget titleWidget = Text(
|
|
||||||
title,
|
|
||||||
style: titleTheme,
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
);
|
|
||||||
Widget trailing = Container();
|
|
||||||
|
|
||||||
var date = note.modified ?? note.created;
|
|
||||||
if (date != null) {
|
|
||||||
var formatter = DateFormat('dd MMM, yyyy');
|
|
||||||
var dateStr = formatter.format(date);
|
|
||||||
trailing = Text(dateStr, style: textTheme.caption);
|
|
||||||
}
|
|
||||||
|
|
||||||
var titleRow = Row(
|
|
||||||
children: <Widget>[Expanded(child: titleWidget), trailing],
|
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.baseline,
|
|
||||||
textBaseline: TextBaseline.alphabetic,
|
|
||||||
);
|
|
||||||
|
|
||||||
var tile = ListTile(
|
|
||||||
title: titleRow,
|
|
||||||
onTap: () => noteSelectedFunction(note),
|
|
||||||
);
|
|
||||||
|
|
||||||
var dc = Theme.of(context).dividerColor;
|
|
||||||
var divider = Container(
|
|
||||||
height: 1.0,
|
|
||||||
child: Divider(color: dc.withOpacity(dc.opacity / 3)),
|
|
||||||
);
|
|
||||||
|
|
||||||
return Column(
|
|
||||||
children: <Widget>[
|
|
||||||
divider,
|
|
||||||
tile,
|
|
||||||
divider,
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
@ -40,9 +40,6 @@ class _FolderViewState extends State<FolderView> {
|
|||||||
case SettingsFolderViewType.Standard:
|
case SettingsFolderViewType.Standard:
|
||||||
_viewType = FolderViewType.Standard;
|
_viewType = FolderViewType.Standard;
|
||||||
break;
|
break;
|
||||||
case SettingsFolderViewType.Compact:
|
|
||||||
_viewType = FolderViewType.Compact;
|
|
||||||
break;
|
|
||||||
case SettingsFolderViewType.Journal:
|
case SettingsFolderViewType.Journal:
|
||||||
_viewType = FolderViewType.Journal;
|
_viewType = FolderViewType.Journal;
|
||||||
break;
|
break;
|
||||||
@ -189,12 +186,6 @@ class _FolderViewState extends State<FolderView> {
|
|||||||
groupValue: _viewType,
|
groupValue: _viewType,
|
||||||
onChanged: onViewChange,
|
onChanged: onViewChange,
|
||||||
),
|
),
|
||||||
RadioListTile<FolderViewType>(
|
|
||||||
title: const Text("Compact View"),
|
|
||||||
value: FolderViewType.Compact,
|
|
||||||
groupValue: _viewType,
|
|
||||||
onChanged: onViewChange,
|
|
||||||
),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
@ -218,9 +209,6 @@ class _FolderViewState extends State<FolderView> {
|
|||||||
case FolderViewType.Journal:
|
case FolderViewType.Journal:
|
||||||
Settings.instance.defaultView = SettingsFolderViewType.Journal;
|
Settings.instance.defaultView = SettingsFolderViewType.Journal;
|
||||||
break;
|
break;
|
||||||
case FolderViewType.Compact:
|
|
||||||
Settings.instance.defaultView = SettingsFolderViewType.Compact;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
Settings.instance.save();
|
Settings.instance.save();
|
||||||
});
|
});
|
||||||
|
@ -261,7 +261,6 @@ class SettingsEditorType {
|
|||||||
class SettingsFolderViewType {
|
class SettingsFolderViewType {
|
||||||
static const Standard = SettingsFolderViewType("Standard", "Standard");
|
static const Standard = SettingsFolderViewType("Standard", "Standard");
|
||||||
static const Journal = SettingsFolderViewType("Journal", "Journal");
|
static const Journal = SettingsFolderViewType("Journal", "Journal");
|
||||||
static const Compact = SettingsFolderViewType("Compact", "Compact");
|
|
||||||
static const Default = Standard;
|
static const Default = Standard;
|
||||||
|
|
||||||
final String _str;
|
final String _str;
|
||||||
@ -279,7 +278,6 @@ class SettingsFolderViewType {
|
|||||||
static const options = <SettingsFolderViewType>[
|
static const options = <SettingsFolderViewType>[
|
||||||
Standard,
|
Standard,
|
||||||
Journal,
|
Journal,
|
||||||
Compact,
|
|
||||||
];
|
];
|
||||||
|
|
||||||
static SettingsFolderViewType fromInternalString(String str) {
|
static SettingsFolderViewType fromInternalString(String str) {
|
||||||
|
Reference in New Issue
Block a user