diff --git a/clickable.json b/clickable.json
index 5b45bd1d..17cf6700 100644
--- a/clickable.json
+++ b/clickable.json
@@ -1,9 +1,11 @@
{
- "clickable_minimum_required": "6.12.2",
"build_dir": "./build_ubports",
"builder": "pure-qml-cmake",
+ "clickable_minimum_required": "7.9.0",
+ "framework": "ubuntu-sdk-20.04",
+ "ignore_review_warnings": true,
"kill": "qmlscene",
"prebuild": "git submodule update --init && npm ci && npm run build -- --config-name=ubports",
- "src_dir": "./ubports-seabass",
- "ignore_review_warnings": true
+ "skip_review": true,
+ "src_dir": "./ubports-seabass"
}
diff --git a/harbour-seabass/harbour-seabass.desktop b/harbour-seabass/harbour-seabass.desktop
index 431f0abe..3a983405 100644
--- a/harbour-seabass/harbour-seabass.desktop
+++ b/harbour-seabass/harbour-seabass.desktop
@@ -12,6 +12,7 @@ Name=Seabass
Name[de]=Seabass
[X-Sailjail]
+#Sandboxing=Disabled
Permissions=UserDirs;RemovableMedia
OrganizationName=name.milikhin
ApplicationName=Seabass
diff --git a/ubports-seabass/html/index.html b/ubports-seabass/html/index.html
index e20846db..9535387a 100644
--- a/ubports-seabass/html/index.html
+++ b/ubports-seabass/html/index.html
@@ -24,7 +24,7 @@
- Seabass2 v2.0.0-rc.1
+ Seabass2 v2.0.0
Features:
@@ -32,22 +32,15 @@
- Syntax highlighting for over 100 programming/markup languages
- Context menu to create/rename/delete files
- - Create and Build QML, C++, Python and HTML projects using Clickable (see Settings page for details)
- - Automatically install and launch built projects
- Read indentation preferences from .editorconfig files
- Open files with the Seabass using the File Manager application
- New:
+ Release notes:
- - add support for future Ubuntu Touch releases starting with OTA-24
- - new editor engine: Codemirror v6
- -
- changes to the list of supported programming languages
- (notably, QML is no longer supported), autocomplete options and code snippets
-
- - find/replace feature temporary disabled
+ - Add support for Ubuntu Touch 20.04
+ - Creating and building projects are temporary disabled (20.04 doesn't support Libertine yet)
diff --git a/ubports-seabass/manifest.json.in b/ubports-seabass/manifest.json.in
index 3b688422..c4a53917 100644
--- a/ubports-seabass/manifest.json.in
+++ b/ubports-seabass/manifest.json.in
@@ -10,7 +10,7 @@
"content-hub": "content-hub.json"
}
},
- "version": "2.0.0-rc.1",
+ "version": "2.0.0",
"maintainer": "Mikhael Milikhin ",
- "framework" : "ubuntu-sdk-16.04.5"
+ "framework" : "ubuntu-sdk-20.04"
}
diff --git a/ubports-seabass/po/seabass2.mikhael.pot b/ubports-seabass/po/seabass2.mikhael.pot
index 48aac68f..6821db99 100644
--- a/ubports-seabass/po/seabass2.mikhael.pot
+++ b/ubports-seabass/po/seabass2.mikhael.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: seabass2.mikhael\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-10 06:46+0000\n"
+"POT-Creation-Date: 2023-01-06 07:05+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: ../qml/About.qml:22 ../qml/components/Header.qml:93
+#: ../qml/About.qml:22 ../qml/components/Header.qml:94
msgid "About"
msgstr ""
@@ -35,23 +35,23 @@ msgstr ""
msgid "Seabass2"
msgstr ""
-#: ../qml/Main.qml:236
+#: ../qml/Main.qml:241
msgid "Creating a project failed. See build output for details"
msgstr ""
-#: ../qml/Main.qml:281
+#: ../qml/Main.qml:288
msgid "Creating a Libertine container failed. See build output for details"
msgstr ""
-#: ../qml/Main.qml:291
+#: ../qml/Main.qml:298
msgid "Update failed. See build output for details"
msgstr ""
-#: ../qml/Main.qml:305
+#: ../qml/Main.qml:312
msgid "Build (%1) failed. See build output for details"
msgstr ""
-#: ../qml/Main.qml:315
+#: ../qml/Main.qml:322
msgid "Build and run (%1) failed. See build output for details"
msgstr ""
@@ -122,55 +122,55 @@ msgstr ""
msgid "Create project"
msgstr ""
-#: ../qml/Settings.qml:19
+#: ../qml/Settings.qml:20
msgid "ready"
msgstr ""
-#: ../qml/Settings.qml:20
+#: ../qml/Settings.qml:21
msgid "busy..."
msgstr ""
-#: ../qml/Settings.qml:21
+#: ../qml/Settings.qml:22
msgid "not exists"
msgstr ""
-#: ../qml/Settings.qml:32 ../qml/components/Header.qml:88
+#: ../qml/Settings.qml:33 ../qml/components/Header.qml:89
msgid "Settings"
msgstr ""
-#: ../qml/Settings.qml:54
+#: ../qml/Settings.qml:55
msgid "User interface"
msgstr ""
-#: ../qml/Settings.qml:67
+#: ../qml/Settings.qml:68
msgid "Theme:"
msgstr ""
-#: ../qml/Settings.qml:75
+#: ../qml/Settings.qml:76
msgid "System"
msgstr ""
-#: ../qml/Settings.qml:102
+#: ../qml/Settings.qml:103
msgid "Font size, CSS px:"
msgstr ""
-#: ../qml/Settings.qml:131
+#: ../qml/Settings.qml:132
msgid "Soft wrap:"
msgstr ""
-#: ../qml/Settings.qml:151
+#: ../qml/Settings.qml:152
msgid "Restore previous session at startup:"
msgstr ""
-#: ../qml/Settings.qml:177
+#: ../qml/Settings.qml:179
msgid "Build container"
msgstr ""
-#: ../qml/Settings.qml:194
+#: ../qml/Settings.qml:197
msgid "You can use the Seabass to build projects with Clickable."
msgstr ""
-#: ../qml/Settings.qml:202
+#: ../qml/Settings.qml:205
msgid ""
"In order to execute Clickable, Seabass requires a special Libertine "
"container to be created first. Once the container is created you can update "
@@ -178,51 +178,51 @@ msgid ""
"(container ID is `seabass2-build`) or via the System Settings."
msgstr ""
-#: ../qml/Settings.qml:212
+#: ../qml/Settings.qml:215
msgid ""
"Should anything goes wrong with the container you can delete and recreate it "
"once again."
msgstr ""
-#: ../qml/Settings.qml:233
+#: ../qml/Settings.qml:237
msgid "Notes:"
msgstr ""
-#: ../qml/Settings.qml:243
+#: ../qml/Settings.qml:247
msgid ""
"• To build a project you need to open a corresponding clickable "
"configuration file and click the 'Build' button:"
msgstr ""
-#: ../qml/Settings.qml:260
+#: ../qml/Settings.qml:264
msgid ""
"• Project files should be located inside ~/Downloads or ~/Documents "
"directories. These directories are automatically mounted into Libertine "
"containers. Alternatively you can create additional bind mounts manually."
msgstr ""
-#: ../qml/Settings.qml:270
+#: ../qml/Settings.qml:274
msgid ""
"• clickable config file should be named 'clickable.json' or 'clickable.yaml'."
msgstr ""
-#: ../qml/Settings.qml:286
+#: ../qml/Settings.qml:291
msgid "Container status:"
msgstr ""
-#: ../qml/Settings.qml:308
+#: ../qml/Settings.qml:314
msgid "Create build container"
msgstr ""
-#: ../qml/Settings.qml:317
+#: ../qml/Settings.qml:323
msgid "Update build container"
msgstr ""
-#: ../qml/components/Builder.qml:28
+#: ../qml/components/Builder.qml:29
msgid "Creating build container"
msgstr ""
-#: ../qml/components/Builder.qml:94
+#: ../qml/components/Builder.qml:99
msgid ""
"A Libertine container is going to be created in order to execute build "
"commands. The process might take a while, but you can continue using the "
@@ -249,29 +249,29 @@ msgid "Error occured"
msgstr ""
#: ../qml/components/ErrorDialog.qml:22 ../qml/components/SaveDialog.qml:34
-#: ../qml/components/files/Header.qml:46
+#: ../qml/components/files/Header.qml:48
msgid "Close"
msgstr ""
-#: ../qml/components/FileList.qml:75
+#: ../qml/components/FileList.qml:76
msgid "Delete file?"
msgstr ""
-#: ../qml/components/FileList.qml:77
+#: ../qml/components/FileList.qml:78
#: ../qml/components/files/DirectoryMenu.qml:27
#: ../qml/components/files/FileMenu.qml:21
msgid "Delete"
msgstr ""
-#: ../qml/components/FileList.qml:113
+#: ../qml/components/FileList.qml:115
msgid "Files"
msgstr ""
-#: ../qml/components/FileList.qml:256
+#: ../qml/components/FileList.qml:258
msgid "%1 will be deleted"
msgstr ""
-#: ../qml/components/Header.qml:82
+#: ../qml/components/Header.qml:83
msgid "Keyboard extension"
msgstr ""
@@ -306,7 +306,7 @@ msgstr ""
#: ../qml/components/files/DirectoryMenu.qml:17
#: ../qml/components/files/DotDotMenu.qml:15
-#: ../qml/components/files/Header.qml:26
+#: ../qml/components/files/Header.qml:27
msgid "New file..."
msgstr ""
@@ -315,15 +315,15 @@ msgstr ""
msgid "Rename..."
msgstr ""
-#: ../qml/components/files/Header.qml:31
+#: ../qml/components/files/Header.qml:32
msgid "New project..."
msgstr ""
-#: ../qml/components/files/Header.qml:36
+#: ../qml/components/files/Header.qml:38
msgid "Tree mode"
msgstr ""
-#: ../qml/components/files/Header.qml:41
+#: ../qml/components/files/Header.qml:43
msgid "Reload"
msgstr ""
diff --git a/ubports-seabass/qml/Main.qml b/ubports-seabass/qml/Main.qml
index d9ad792c..af3063bc 100644
--- a/ubports-seabass/qml/Main.qml
+++ b/ubports-seabass/qml/Main.qml
@@ -7,7 +7,7 @@ import Qt.labs.platform 1.0
import Qt.labs.settings 1.0
import QtWebSockets 1.0
-import Ubuntu.Components.Themes 1.3
+import Lomiri.Components.Themes 1.3
import "./components" as CustomComponents
import "./generic" as GenericComponents
@@ -27,7 +27,9 @@ ApplicationWindow {
readonly property bool isWide: width >= Suru.units.gu(100)
readonly property string defaultTitle: i18n.tr("Welcome")
readonly property string defaultSubTitle: i18n.tr("Seabass2")
- readonly property string version: "2.0.0-rc.1"
+ readonly property string version: "2.0.0"
+ readonly property bool isLibertineEnabled: false
+
property bool hasBuildContainer: false
property int activeTheme: parseInt(settings.theme)
property var currentTab: tabBar.currentIndex === -1
@@ -130,6 +132,7 @@ ApplicationWindow {
CustomComponents.Builder {
id: builder
+ disabled: !isLibertineEnabled
onStarted: {
const existingTabIndex = tabsModel.openTerminal(builder.tabId, builder.title, builder.subTitle)
@@ -200,6 +203,8 @@ ApplicationWindow {
homeDir: api.homeDir
onClosed: navBar.visible = false
isPage: !isWide
+ isLibertineEnabled: root.isLibertineEnabled
+
Layout.fillWidth: true
Layout.fillHeight: true
@@ -258,6 +263,7 @@ ApplicationWindow {
id: header
title: currentTab ? currentTab.uniqueTitle : defaultTitle
subtitle: currentTab ? currentTab.subTitle : defaultSubTitle
+ isLibertineEnabled: root.isLibertineEnabled
Layout.fillWidth: true
onNavBarToggled: {
@@ -271,7 +277,8 @@ ApplicationWindow {
pageStack.push(Qt.resolvedUrl("Settings.qml"), {
version: root.version,
buildContainerReady: builder.ready,
- hasBuildContainer: root.hasBuildContainer
+ hasBuildContainer: root.hasBuildContainer,
+ isLibertineEnabled: root.isLibertineEnabled
})
pageStack.currentItem.containerCreationStarted.connect(function() {
diff --git a/ubports-seabass/qml/Settings.qml b/ubports-seabass/qml/Settings.qml
index 34d5a45c..09116e41 100644
--- a/ubports-seabass/qml/Settings.qml
+++ b/ubports-seabass/qml/Settings.qml
@@ -13,6 +13,7 @@ Item {
property string version
property bool buildContainerReady: false
property bool hasBuildContainer: false
+ property bool isLibertineEnabled: false
signal containerCreationStarted()
signal containerUpdateStarted()
@@ -170,6 +171,7 @@ Item {
anchors.right: parent.right
anchors.leftMargin: Suru.units.gu(1)
anchors.rightMargin: Suru.units.gu(1)
+ visible: isLibertineEnabled
Label {
anchors.verticalCenter: parent.verticalCenter
@@ -183,6 +185,7 @@ Item {
anchors.right: parent.right
anchors.leftMargin: Suru.units.gu(1)
anchors.rightMargin: Suru.units.gu(1)
+ visible: isLibertineEnabled
ColumnLayout {
width: parent.width
@@ -221,6 +224,7 @@ Item {
anchors.right: parent.right
anchors.leftMargin: Suru.units.gu(1)
anchors.rightMargin: Suru.units.gu(1)
+ visible: isLibertineEnabled
ColumnLayout {
width: parent.width
@@ -280,6 +284,7 @@ Item {
anchors.leftMargin: Suru.units.gu(1)
anchors.rightMargin: Suru.units.gu(1)
spacing: Suru.units.gu(1)
+ visible: isLibertineEnabled
Label {
anchors.verticalCenter: parent.verticalCenter
@@ -302,6 +307,7 @@ Item {
anchors.right: parent.right
anchors.leftMargin: Suru.units.gu(1)
anchors.rightMargin: Suru.units.gu(1)
+ visible: isLibertineEnabled
Button {
visible: !hasBuildContainer
diff --git a/ubports-seabass/qml/components/Builder.qml b/ubports-seabass/qml/components/Builder.qml
index 5414117e..58bc6d2e 100644
--- a/ubports-seabass/qml/components/Builder.qml
+++ b/ubports-seabass/qml/components/Builder.qml
@@ -7,6 +7,7 @@ import "../generic/utils.js" as QmlJs
Item {
id: root
property bool ready: false
+ property bool disabled: false
property string tabId: '__seabass2_build_output'
property string title: 'Build output'
property string subTitle: 'Terminal'
@@ -31,6 +32,10 @@ Item {
Python {
id: py
Component.onCompleted: {
+ if (disabled) {
+ return
+ }
+
addImportPath(Qt.resolvedUrl('../../py-backend'))
importModule('build_utils', function() {
ready = true
@@ -80,7 +85,7 @@ Item {
function ensureContainer(callback, onStarted) {
onStarted = onStarted || Function.prototype
- builder._testContainer(function(err, containerExists) {
+ _testContainer(function(err, containerExists) {
if (err) {
return callback(err)
}
diff --git a/ubports-seabass/qml/components/ConfirmDialog.qml b/ubports-seabass/qml/components/ConfirmDialog.qml
index ab488c25..6f1ea28a 100644
--- a/ubports-seabass/qml/components/ConfirmDialog.qml
+++ b/ubports-seabass/qml/components/ConfirmDialog.qml
@@ -1,6 +1,6 @@
import QtQuick 2.4
-import Ubuntu.Components 1.3
-import Ubuntu.Components.Popups 1.3
+import Lomiri.Components 1.3
+import Lomiri.Components.Popups 1.3
import "../generic/utils.js" as QmlJs
Item {
diff --git a/ubports-seabass/qml/components/ErrorDialog.qml b/ubports-seabass/qml/components/ErrorDialog.qml
index c1e5b4f2..c413423d 100644
--- a/ubports-seabass/qml/components/ErrorDialog.qml
+++ b/ubports-seabass/qml/components/ErrorDialog.qml
@@ -1,6 +1,6 @@
import QtQuick 2.4
-import Ubuntu.Components 1.3
-import Ubuntu.Components.Popups 1.3
+import Lomiri.Components 1.3
+import Lomiri.Components.Popups 1.3
import "../generic/utils.js" as QmlJs
Item {
diff --git a/ubports-seabass/qml/components/FileList.qml b/ubports-seabass/qml/components/FileList.qml
index a9be139f..f31e88ae 100644
--- a/ubports-seabass/qml/components/FileList.qml
+++ b/ubports-seabass/qml/components/FileList.qml
@@ -3,7 +3,7 @@ import QtQuick.Controls 2.2
import QtQuick.Controls.Suru 2.2
import QtQuick.Layouts 1.3
import Qt.labs.platform 1.0
-import Ubuntu.Content 1.3
+import Lomiri.Content 1.3
import "./common" as CustomComponents
import "../generic/utils.js" as QmlJs
@@ -15,6 +15,7 @@ Item {
property bool isPage: false
property bool showHidden: false
property bool treeMode: false
+ property bool isLibertineEnabled: false
property string homeDir
property real rowHeight: units.gu(4.5)
@@ -108,6 +109,7 @@ Item {
Layout.fillWidth: true
id: header
+ isLibertineEnabled: root.isLibertineEnabled
hasLeadingButton: root.isPage
onLeadingAction: closed()
title: i18n.tr("Files")
diff --git a/ubports-seabass/qml/components/Header.qml b/ubports-seabass/qml/components/Header.qml
index e45cb267..e087a592 100644
--- a/ubports-seabass/qml/components/Header.qml
+++ b/ubports-seabass/qml/components/Header.qml
@@ -12,6 +12,7 @@ CustomComponents.ToolBar {
property bool canBeSaved: false
property bool buildable: false
property bool buildEnabled: false
+ property bool isLibertineEnabled: false
property bool keyboardExtensionEnabled: false
property bool searchEnabled: false
property bool terminalEnabled: false
@@ -42,13 +43,13 @@ CustomComponents.ToolBar {
CustomComponents.ToolButton {
iconName: "package-x-generic-symbolic"
- visible: buildable
+ visible: isLibertineEnabled && buildable
enabled: buildEnabled
onClicked: buildRequested()
}
CustomComponents.ToolButton {
iconName: "media-playback-start"
- visible: buildable
+ visible: isLibertineEnabled && buildable
enabled: buildEnabled
onClicked: launchRequested()
}
diff --git a/ubports-seabass/qml/components/KeyboardExtension.qml b/ubports-seabass/qml/components/KeyboardExtension.qml
index 9c191ac8..cdecb3eb 100644
--- a/ubports-seabass/qml/components/KeyboardExtension.qml
+++ b/ubports-seabass/qml/components/KeyboardExtension.qml
@@ -1,6 +1,6 @@
import QtQuick 2.9
-import Ubuntu.Components 1.3
-import Ubuntu.Components.Themes 1.3
+import Lomiri.Components 1.3
+import Lomiri.Components.Themes 1.3
import QtQuick.Layouts 1.3
Toolbar {
@@ -61,8 +61,8 @@ Toolbar {
Behavior on color {
enabled: toolbarButton.pressed
ColorAnimation {
- easing: UbuntuAnimation.StandardEasing
- duration: UbuntuAnimation.BriskDuration
+ easing: LomiriAnimation.StandardEasing
+ duration: LomiriAnimation.BriskDuration
}
}
}
diff --git a/ubports-seabass/qml/components/SaveDialog.qml b/ubports-seabass/qml/components/SaveDialog.qml
index 4f5b1184..c743edbc 100644
--- a/ubports-seabass/qml/components/SaveDialog.qml
+++ b/ubports-seabass/qml/components/SaveDialog.qml
@@ -1,6 +1,6 @@
import QtQuick 2.4
-import Ubuntu.Components 1.3
-import Ubuntu.Components.Popups 1.3
+import Lomiri.Components 1.3
+import Lomiri.Components.Popups 1.3
import "../generic/utils.js" as QmlJs
Item {
diff --git a/ubports-seabass/qml/components/common/Icon.qml b/ubports-seabass/qml/components/common/Icon.qml
index 794647f0..407d7616 100644
--- a/ubports-seabass/qml/components/common/Icon.qml
+++ b/ubports-seabass/qml/components/common/Icon.qml
@@ -2,8 +2,8 @@ import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Controls.Suru 2.2
-import Ubuntu.Components 1.3 as UITK
-import Ubuntu.Components.Themes 1.3
+import Lomiri.Components 1.3 as UITK
+import Lomiri.Components.Themes 1.3
UITK.Icon {
color: theme.palette.normal.backgroundText
diff --git a/ubports-seabass/qml/components/files/Header.qml b/ubports-seabass/qml/components/files/Header.qml
index f6b177fe..273f5709 100644
--- a/ubports-seabass/qml/components/files/Header.qml
+++ b/ubports-seabass/qml/components/files/Header.qml
@@ -7,6 +7,7 @@ import '../common' as CustomComponents
CustomComponents.ToolBar {
property bool treeMode: false
+ property bool isLibertineEnabled: false
signal closed()
signal fileCreationInitialized()
@@ -30,6 +31,7 @@ CustomComponents.ToolBar {
iconName: "add"
text: i18n.tr("New project...")
onTriggered: projectCreationInitialized()
+ visible: isLibertineEnabled
}
CustomComponents.MenuItem {
iconName: treeMode ? "select" : "select-none"
diff --git a/ubports-seabass/qml/components/files/NewFileDialog.qml b/ubports-seabass/qml/components/files/NewFileDialog.qml
index 158a9813..7b00fc25 100644
--- a/ubports-seabass/qml/components/files/NewFileDialog.qml
+++ b/ubports-seabass/qml/components/files/NewFileDialog.qml
@@ -1,6 +1,6 @@
import QtQuick 2.4
-import Ubuntu.Components 1.3
-import Ubuntu.Components.Popups 1.3
+import Lomiri.Components 1.3
+import Lomiri.Components.Popups 1.3
import "../../generic/utils.js" as QmlJs
Item {
diff --git a/ubports-seabass/qml/components/files/RenameDialog.qml b/ubports-seabass/qml/components/files/RenameDialog.qml
index 9760e892..a558738f 100644
--- a/ubports-seabass/qml/components/files/RenameDialog.qml
+++ b/ubports-seabass/qml/components/files/RenameDialog.qml
@@ -1,6 +1,6 @@
import QtQuick 2.4
-import Ubuntu.Components 1.3
-import Ubuntu.Components.Popups 1.3
+import Lomiri.Components 1.3
+import Lomiri.Components.Popups 1.3
import "../../generic/utils.js" as QmlJs
Item {
diff --git a/ubports-seabass/qml/components/tabs/TabButton.qml b/ubports-seabass/qml/components/tabs/TabButton.qml
index d9b0635c..f2b5bbba 100644
--- a/ubports-seabass/qml/components/tabs/TabButton.qml
+++ b/ubports-seabass/qml/components/tabs/TabButton.qml
@@ -3,7 +3,7 @@ import QtQuick.Controls 2.2
import QtQuick.Controls.Suru 2.2
import QtQuick.Layouts 1.3
-import Ubuntu.Components 1.3 as UITK
+import Lomiri.Components 1.3 as UITK
TabButton {
id: root
diff --git a/ubports-seabass/seabass2.apparmor b/ubports-seabass/seabass2.apparmor
index fd1cbfc3..0e052405 100644
--- a/ubports-seabass/seabass2.apparmor
+++ b/ubports-seabass/seabass2.apparmor
@@ -5,5 +5,5 @@
"webview",
"content_exchange"
],
- "policy_version": 16.04
+ "policy_version": 20.04
}