Skip to content

Commit

Permalink
Add export sub-menu
Browse files Browse the repository at this point in the history
  • Loading branch information
wawanbreton committed Jan 25, 2024
1 parent cfb0b3e commit 54af5bc
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 13 deletions.
44 changes: 44 additions & 0 deletions resources/qml/Menus/ExportMenu.qml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// Copyright (c) 2024 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.

import QtQuick 2.2
import QtQuick.Controls 2.1

import UM 1.5 as UM
import Cura 1.1 as Cura

import "../Dialogs"

Cura.Menu
{
id: exportMenu
property alias model: meshWriters.model
property bool selectionOnly: false

Instantiator
{
id: meshWriters
Cura.MenuItem
{
text: model.description
onTriggered:
{
var localDeviceId = "local_file"
var file_name = PrintInformation.jobName
var args = { "filter_by_machine": false, "limit_mimetypes": model.mime_type}
if(exportMenu.selectionOnly)
{
UM.OutputDeviceManager.requestWriteSelectionToDevice(localDeviceId, file_name, args)
}
else
{
UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, file_name, args)
}
}
shortcut: model.shortcut
enabled: exportMenu.shouldBeVisible
}
onObjectAdded: function(index, object) { exportMenu.insertItem(index, object)}
onObjectRemoved: function(index, object) { exportMenu.removeItem(object)}
}
}
26 changes: 13 additions & 13 deletions resources/qml/Menus/FileMenu.qml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import QtQuick 2.2
import QtQuick.Controls 2.1

import UM 1.6 as UM
import UM 1.7 as UM
import Cura 1.0 as Cura

Cura.Menu
Expand Down Expand Up @@ -72,24 +72,24 @@ Cura.Menu

Cura.MenuSeparator { }

Cura.MenuItem
UM.MeshWritersModel { id: meshWritersModel }

ExportMenu
{
id: saveAsMenu
text: catalog.i18nc("@title:menu menubar:file", "&Export...")
onTriggered:
{
var localDeviceId = "local_file"
UM.OutputDeviceManager.requestWriteToDevice(localDeviceId, PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"})
}
id: exportMenu
title: catalog.i18nc("@title:menu menubar:file", "&Export...")
model: meshWritersModel
shouldBeVisible: model.count > 0
}

Cura.MenuItem
ExportMenu
{
id: exportSelectionMenu
text: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...")
title: catalog.i18nc("@action:inmenu menubar:file", "Export Selection...")
model: meshWritersModel
shouldBeVisible: model.count > 0
enabled: UM.Selection.hasSelection
icon.name: "document-save-as"
onTriggered: UM.OutputDeviceManager.requestWriteSelectionToDevice("local_file", PrintInformation.jobName, { "filter_by_machine": false, "preferred_mimetypes": "application/vnd.ms-package.3dmanufacturing-3dmodel+xml"})
selectionOnly: true
}

Cura.MenuSeparator { }
Expand Down

0 comments on commit 54af5bc

Please sign in to comment.