Add a PlaceholderMessage to the FeedList

This commit is contained in:
Tobias Fella 2020-04-23 13:47:24 +02:00
parent d2d11cd56e
commit 7e828772e0
7 changed files with 28 additions and 14 deletions

View File

@ -2,13 +2,16 @@ project(Alligator)
cmake_minimum_required(VERSION 2.8.12)
set(KF5_MIN_VERSION "5.70.0")
set(QT_MIN_VERSION "5.10.0")
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
message(FATAL_ERROR "This application requires an out of source build. Please create a separate build directory.")
endif()
include(FeatureSummary)
find_package(ECM 5.67.0 REQUIRED NO_MODULE)
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
@ -19,14 +22,14 @@ include(KDEClangFormat)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui QuickControls2 Sql)
find_package(KF5 REQUIRED COMPONENTS CoreAddons Syndication Config I18n)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui QuickControls2 Sql)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Syndication Config I18n)
if (ANDROID)
find_package(Qt5 REQUIRED COMPONENTS Svg)
find_package(KF5 REQUIRED COMPONENTS Kirigami2)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Svg)
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Kirigami2)
else()
find_package(Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Widgets)
endif()
add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_URL_CAST_FROM_STRING)

View File

@ -22,7 +22,7 @@ import QtQuick 2.14
import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.14
import org.kde.kirigami 2.8 as Kirigami
import org.kde.kirigami 2.12 as Kirigami
import org.kde.alligator 1.0

View File

@ -22,7 +22,7 @@ import QtQuick 2.14
import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.14
import org.kde.kirigami 2.8 as Kirigami
import org.kde.kirigami 2.12 as Kirigami
import org.kde.alligator 1.0

View File

@ -22,7 +22,7 @@ import QtQuick 2.14
import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.14
import org.kde.kirigami 2.8 as Kirigami
import org.kde.kirigami 2.12 as Kirigami
Kirigami.Page {

View File

@ -22,7 +22,7 @@ import QtQuick 2.14
import QtQuick.Controls 2.14 as Controls
import QtQuick.Layouts 1.14
import org.kde.kirigami 2.8 as Kirigami
import org.kde.kirigami 2.12 as Kirigami
import org.kde.alligator 1.0
@ -42,6 +42,7 @@ Kirigami.ScrollablePage {
Kirigami.OverlaySheet {
id: addSheet
contentItem: Kirigami.FormLayout {
Controls.TextField {
id: urlField
@ -55,15 +56,25 @@ Kirigami.ScrollablePage {
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
enabled: urlField.text
onClicked: {
feedListModel.addFeed(urlField.text)
addSheet.close()
feedListModel.addFeed(urlField.text)
addSheet.close()
}
}
}
}
Kirigami.PlaceholderMessage {
visible: feedList.count === 0
width: Kirigami.Units.gridUnit * 20
anchors.centerIn: parent
text: i18n("No Feeds added yet.")
}
ListView {
id: feedList
visible: count !== 0
anchors.fill: parent
model: FeedListModel {
id: feedListModel

View File

@ -1,7 +1,7 @@
import QtQuick 2.14
import QtQuick.Controls 2.14 as Controls
import org.kde.kirigami 2.8 as Kirigami
import org.kde.kirigami 2.12 as Kirigami
Kirigami.ScrollablePage {
title: i18n("Settings")

View File

@ -21,7 +21,7 @@
import QtQuick 2.14
import QtQuick.Controls 2.14 as Controls
import org.kde.kirigami 2.8 as Kirigami
import org.kde.kirigami 2.12 as Kirigami
Kirigami.ApplicationWindow {
id: root