diff --git a/buho.pro b/buho.pro index 877090a..8ac4c63 100644 --- a/buho.pro +++ b/buho.pro @@ -1,78 +1,78 @@ QT += qml QT += quick QT += sql QT += widgets QT += quickcontrols2 CONFIG += c++11 CONFIG += ordered TARGET = buho TEMPLATE = app -DESTDIR = $$OUT_PWD/../ +DESTDIR = $$OUT_PWD/ linux:unix:!android { message(Building for Linux KDE) QT += webengine } else:android { message(Building helpers for Android) include($$PWD/3rdparty/kirigami/kirigami.pri) include($$PWD/android/android.pri) include($$PWD/android/openssl/openssl.pri) DEFINES += STATIC_KIRIGAMI } else { message("Unknown configuration") } include($$PWD/mauikit/mauikit.pri) include($$PWD/QGumboParser/QGumboParser.pri) DEFINES += QT_DEPRECATED_WARNINGS SOURCES += \ main.cpp \ src/db/db.cpp \ src/db/dbactions.cpp \ src/buho.cpp \ src/documenthandler.cpp \ src/linker.cpp \ src/utils/htmlparser.cpp RESOURCES += \ qml.qrc # Additional import path used to resolve QML modules in Qt Creator's code model QML_IMPORT_PATH = # Additional import path used to resolve QML modules just for Qt Quick Designer QML_DESIGNER_IMPORT_PATH = # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target DISTFILES += \ src/db/script.sql \ src/utils/owl.js \ HEADERS += \ src/db/db.h \ src/db/dbactions.h \ src/buho.h \ src/utils/owl.h \ src/documenthandler.h \ src/linker.h \ src/utils/htmlparser.h INCLUDEPATH += \ src/utils/ \ src/ diff --git a/src/views/links/Previewer.qml b/src/views/links/Previewer.qml index b1f4a0e..7b5646a 100644 --- a/src/views/links/Previewer.qml +++ b/src/views/links/Previewer.qml @@ -1,104 +1,115 @@ import QtQuick 2.0 import QtQuick.Controls 2.2 import QtQuick.Layouts 1.0 import org.kde.maui 1.0 as Maui Popup { parent: ApplicationWindow.overlay height: parent.height * 0.9 width: parent.width * (isMobile ? 0.9 : 0.7) x: (parent.width / 2) - (width / 2) y: (parent.height /2 ) - (height / 2) modal: true clip: true padding: isAndroid ? 2 : "undefined" property alias webView: webViewer.item Maui.Page { anchors.fill: parent margins: 0 padding: 0 onExit: close() headBar.leftContent: Maui.ToolButton { iconName: "document-share" onClicked: isAndroid ? Maui.Android.shareLink(webView.url) : shareDialog.show(webView.url) } headBar.rightContent: [ Maui.ToolButton { iconName: "entry-delete" }, Maui.ToolButton { iconName: "document-save" }, Maui.ToolButton { iconName: "view-fullscreen" onClicked: owl.openLink(webView.url) } ] - headBar.middleContent: Label - { - clip: true - text: webView.title - width: headBar.width * 0.5 - horizontalAlignment: Qt.AlignHCenter - font.bold: true - font.pointSize: fontSizes.big - font.weight: Font.Bold - elide: Label.ElideRight - } + ColumnLayout { anchors.fill: parent +// Item +// { +// Layout.fillWidth: true +// height: rowHeightAlt + +// Label +// { +// clip: true +// text: webView.title +// width: parent.width +// height: parent.height +// horizontalAlignment: Qt.AlignHCenter +// verticalAlignment: Qt.AlignVCenter +// font.bold: true +// font.pointSize: fontSizes.big +// font.weight: Font.Bold +// elide: Label.ElideRight +// } +// } Loader { id: webViewer Layout.fillWidth: true Layout.fillHeight: true + Layout.margins: 0 source: isAndroid ? "qrc:/src/views/links/WebViewAndroid.qml" : "qrc:/src/views/links/WebViewLinux.qml" onVisibleChanged: { if(!visible) webView.url = "about:blank" } + } Maui.TagsBar { id: tagBar Layout.fillWidth: true allowEditMode: true onTagsEdited: { for(var i in tags) append({tag : tags[i]}) } } } } function show(link) { webView.url = link.link tagBar.populate(link.tags) open() } } diff --git a/src/widgets/CardsView.qml b/src/widgets/CardsView.qml index 845238f..2f56e3b 100644 --- a/src/widgets/CardsView.qml +++ b/src/widgets/CardsView.qml @@ -1,63 +1,64 @@ import QtQuick 2.9 import QtQuick.Controls 2.2 import org.kde.kirigami 2.2 as Kirigami import org.kde.maui 1.0 as Maui GridView { property bool gridView : true property alias holder : holder readonly property int defaultSize : unit * 200 property int itemWidth : !gridView ? parent.width : isMobile? (width-itemSpacing) * 0.42 : unit * 200 property int itemHeight: unit * 120 property int itemSpacing: space.huge signal itemClicked(int index) boundsBehavior: !isMobile? Flickable.StopAtBounds : Flickable.DragAndOvershootBounds cellWidth: itemWidth + itemSpacing cellHeight: itemHeight + itemSpacing Maui.Holder { id: holder visible: count < 1 message: "

No notes!

You can create new notes
links and books

" } model: ListModel { id: cardsModel} delegate: CardDelegate { id: delegate cardWidth: itemWidth cardHeight: itemHeight onClicked: { currentIndex = index itemClicked(index) } } -// onWidthChanged: if(!isMobile && gridView) adaptGrid() + // onWidthChanged: if(!isMobile && gridView) adaptGrid() function adaptGrid() { var amount = parseInt(width/(itemWidth + itemSpacing),10) var leftSpace = parseInt(width-(amount*(itemWidth + itemSpacing)), 10) var size = parseInt((itemWidth + itemSpacing)+(parseInt(leftSpace/amount, 10)), 10) size = size > itemWidth + itemSpacing ? size : itemWidth + itemSpacing cellWidth = size + } function refresh() { model = cardsModel } }