diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index dd2bed0..f945c9a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,24 +5,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -32,12 +18,10 @@
-
-
-
-
-
+
+
+
@@ -55,8 +39,8 @@
-
-
+
+
@@ -64,25 +48,23 @@
-
-
-
-
-
-
-
+
+
+
+
+
-
+
-
-
+
+
@@ -91,46 +73,64 @@
-
+
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
@@ -160,13 +160,10 @@
-
-
-
@@ -176,6 +173,9 @@
+
+
+
@@ -191,6 +191,8 @@
+
+
@@ -280,15 +282,13 @@
-
-
-
+
@@ -337,9 +337,8 @@
-
-
+
@@ -349,13 +348,13 @@
-
+
-
-
+
+
@@ -420,117 +419,117 @@
-
+
-
-
-
-
-
+
+
-
+
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
+
+
-
+
+
+
+
+
+
+
-
-
+
+
-
+
+
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
-
-
+
-
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
+
-
-
+
+
+
+
+
diff --git a/Changelog.txt b/Changelog.txt
new file mode 100644
index 0000000..df308ec
--- /dev/null
+++ b/Changelog.txt
@@ -0,0 +1,11 @@
+Version 1.0.4
+1. Możliwość odświeżenia listy piosenek aktywna dopiero po jej pobraniu.
+2. Akordy występujące bezpośrednio przy nawiasie można transponować.
+3. Podczas wyszukiwania dodano informacje o braku znalezionych piosenek.
+4. Dodanie przycisku info na stronie głównej, który pokazuje liczbę piosenek w bazie.
+
+Version: 1.0.3
+1. Dodanie ostatnich piosenek,
+2. Dodanie menu bocznego,
+3. Więcej ustawień,
+4. Dodanie systemu playlist.
\ No newline at end of file
diff --git a/android/.gradle/5.6.2/executionHistory/executionHistory.bin b/android/.gradle/5.6.2/executionHistory/executionHistory.bin
index f78144f..0ed6030 100644
Binary files a/android/.gradle/5.6.2/executionHistory/executionHistory.bin and b/android/.gradle/5.6.2/executionHistory/executionHistory.bin differ
diff --git a/android/.gradle/5.6.2/executionHistory/executionHistory.lock b/android/.gradle/5.6.2/executionHistory/executionHistory.lock
index 2cdfe7c..8d42f9e 100644
Binary files a/android/.gradle/5.6.2/executionHistory/executionHistory.lock and b/android/.gradle/5.6.2/executionHistory/executionHistory.lock differ
diff --git a/android/.gradle/5.6.2/fileHashes/fileHashes.bin b/android/.gradle/5.6.2/fileHashes/fileHashes.bin
index db3ca70..787096f 100644
Binary files a/android/.gradle/5.6.2/fileHashes/fileHashes.bin and b/android/.gradle/5.6.2/fileHashes/fileHashes.bin differ
diff --git a/android/.gradle/5.6.2/fileHashes/fileHashes.lock b/android/.gradle/5.6.2/fileHashes/fileHashes.lock
index def85b9..5765351 100644
Binary files a/android/.gradle/5.6.2/fileHashes/fileHashes.lock and b/android/.gradle/5.6.2/fileHashes/fileHashes.lock differ
diff --git a/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin b/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin
index a0acde3..5003d35 100644
Binary files a/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin and b/android/.gradle/5.6.2/fileHashes/resourceHashesCache.bin differ
diff --git a/android/.gradle/5.6.2/javaCompile/classAnalysis.bin b/android/.gradle/5.6.2/javaCompile/classAnalysis.bin
index eec67fe..fff0e1b 100644
Binary files a/android/.gradle/5.6.2/javaCompile/classAnalysis.bin and b/android/.gradle/5.6.2/javaCompile/classAnalysis.bin differ
diff --git a/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin b/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin
index 2cf7846..c4307c0 100644
Binary files a/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin and b/android/.gradle/5.6.2/javaCompile/jarAnalysis.bin differ
diff --git a/android/.gradle/5.6.2/javaCompile/javaCompile.lock b/android/.gradle/5.6.2/javaCompile/javaCompile.lock
index c84a6d0..60e23eb 100644
Binary files a/android/.gradle/5.6.2/javaCompile/javaCompile.lock and b/android/.gradle/5.6.2/javaCompile/javaCompile.lock differ
diff --git a/android/.gradle/5.6.2/javaCompile/taskHistory.bin b/android/.gradle/5.6.2/javaCompile/taskHistory.bin
index 186b1a6..b5da5ff 100644
Binary files a/android/.gradle/5.6.2/javaCompile/taskHistory.bin and b/android/.gradle/5.6.2/javaCompile/taskHistory.bin differ
diff --git a/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 2252f86..01df78a 100644
Binary files a/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/android/.gradle/buildOutputCleanup/outputFiles.bin b/android/.gradle/buildOutputCleanup/outputFiles.bin
index 41e4803..673e369 100644
Binary files a/android/.gradle/buildOutputCleanup/outputFiles.bin and b/android/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/android/local.properties b/android/local.properties
index 760df1e..7272d18 100644
--- a/android/local.properties
+++ b/android/local.properties
@@ -1,5 +1,5 @@
sdk.dir=C:\\Users\\battn\\AppData\\Local\\Android\\sdk
flutter.sdk=P:\\FlutterSDK\\flutter
flutter.buildMode=release
-flutter.versionName=1.0.3
-flutter.versionCode=3
\ No newline at end of file
+flutter.versionName=1.0.4
+flutter.versionCode=4
\ No newline at end of file
diff --git a/lib/pages/authors_page.dart b/lib/pages/authors_page.dart
index 10203ae..78db308 100644
--- a/lib/pages/authors_page.dart
+++ b/lib/pages/authors_page.dart
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:share/share.dart';
-final String VERSION = '1.0.3';
+final String VERSION = '1.0.4';
class AuthorsPage extends StatelessWidget {
@override
@@ -22,7 +22,7 @@ class AuthorsPage extends StatelessWidget {
child: Container(
margin: EdgeInsets.only(left: 3.0, right: 3.0),
child: SizedBox(
- height: 200,
+ height: 250,
child: Card(
child: Padding(
padding: EdgeInsets.all(12.0),
@@ -43,6 +43,8 @@ class AuthorsPage extends StatelessWidget {
children: [
Text('Baza piosenek:', style: TextStyle(fontSize: 17.0, fontWeight: FontWeight.bold)),
Text('ks. Maciej Lewandowski'),
+ Text('&'),
+ Text('Stanisław Wołowski'),
],
),
Divider(),
diff --git a/lib/pages/details_page.dart b/lib/pages/details_page.dart
index 0f729ed..a0390e2 100644
--- a/lib/pages/details_page.dart
+++ b/lib/pages/details_page.dart
@@ -109,7 +109,6 @@ class _DetailPageState extends State {
_changeChords(int type) {
bool isDur = false;
- bool isSeven = false;
List newCurrentChords = List();
@@ -120,21 +119,31 @@ class _DetailPageState extends State {
for (var currentChord in currentChords.split(' ')) {
currentChord = currentChord.trim();
String newChord = '';
+ String prefix = "", sufix = "";
+ bool isSeven = false;
if (currentChord != '') {
+ if (currentChord.length > 1) {
+ if (currentChord[0] == '(') {
+ prefix = "(";
+ currentChord = currentChord.substring(1, currentChord.length);
+ }
+ if (currentChord[currentChord.length-1] == ')') {
+ sufix = ")";
+ currentChord = currentChord.substring(0, currentChord.length-1);
+ }
+ if (currentChord.contains('7')) {
+ isSeven = true;
+ currentChord = currentChord.substring(0, currentChord.length-1);
+ }
+ }
+
if (_upperCases.contains(currentChord[0])) {
isDur = true;
} else {
isDur = false;
}
- if (currentChord.length > 1 && currentChord.contains('7')) {
- isSeven = true;
- //currentChord = currentChord.substring(0, currentChord.length-2);
- } else {
- isSeven = false;
- }
-
currentChord = currentChord.toLowerCase();
int index;
bool isChord = false;
@@ -162,6 +171,14 @@ class _DetailPageState extends State {
if (isChord) {
newChord = _allChords[index];
+ if (prefix != "") {
+ newChord = prefix + newChord;
+ }
+
+ if (sufix != "") {
+ newChord += sufix;
+ }
+
if (isSeven) {
newChord += '7';
}
diff --git a/lib/pages/home_page.dart b/lib/pages/home_page.dart
index 24a3781..ba0d2e4 100644
--- a/lib/pages/home_page.dart
+++ b/lib/pages/home_page.dart
@@ -12,7 +12,6 @@ import '../utils/main.dart';
import '../models/song_model.dart';
import '../models/settings_model.dart';
-
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title, this.setThemeData}) : super(key: key);
@@ -28,6 +27,7 @@ class _MyHomePageState extends State {
final Function setThemeData;
+ bool _isLoadingFirst = false;
bool _isData = false;
bool _isText = false;
List _allSongs = [];
@@ -66,6 +66,9 @@ class _MyHomePageState extends State {
_getSongs() async {
bool reloaded = false;
+ setState(() {
+ _isLoadingFirst = true;
+ });
await http.get("http://malewand.vot.pl/spiewnik.php").then((response) { //http://malewand.vot.pl/spiewnik.php
if (response.statusCode == 200) {
@@ -126,6 +129,10 @@ class _MyHomePageState extends State {
});
});
+ setState(() {
+ _isLoadingFirst = false;
+ });
+
return reloaded;
}
@@ -280,7 +287,10 @@ class _MyHomePageState extends State {
),
Expanded(
child: Scrollbar(
- child: ListView.builder(
+ child: _songs.length == 0 ?
+ Center(child: Text("Nie znaleziono takich piosenek.", style: TextStyle(fontSize: 20)))
+ :
+ ListView.builder(
itemCount: _songs.length,
itemBuilder: (BuildContext context, int index) {
return Card(
@@ -341,11 +351,30 @@ class _MyHomePageState extends State {
title: Text(widget.title),
actions: [
IconButton(
- icon: Icon(Icons.autorenew),
+ icon: Icon(Icons.info_outline),
onPressed: () {
- _reloadSongs();
+ showDialog(
+ context: context,
+ barrierDismissible: false,
+ builder: (BuildContext context) {
+ return AlertDialog(
+ title: Text('Info'),
+ content: Text('Ilość piosenek w bazie: ' + _allSongs.length.toString()),
+ );
+ }
+ );
+ Utils.alertDuration(context);
},
),
+ Visibility(
+ child: IconButton(
+ icon: Icon(Icons.autorenew),
+ onPressed: () {
+ _reloadSongs();
+ },
+ ),
+ visible: !_isLoadingFirst,
+ ),
],
),
drawer: Drawer(
diff --git a/pubspec.yaml b/pubspec.yaml
index c3b2497..dc2cb29 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -11,7 +11,7 @@ description: Mobile app to show church songs and chords.
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
-version: 1.0.3+3
+version: 1.0.4+4
environment:
sdk: ">=2.1.0 <3.0.0"