1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- // Copyright (c) 2016 Ultimaker B.V.
- // Cura is released under the terms of the LGPLv3 or higher.
- import QtQuick 2.2
- import QtQuick.Controls 1.1
- import UM 1.3 as UM
- import Cura 1.0 as Cura
- import "../Dialogs"
- Menu
- {
- id: menu
- title: catalog.i18nc("@title:menu menubar:file", "Open &Recent")
- iconName: "document-open-recent";
- enabled: CuraApplication.recentFiles.length > 0;
- Instantiator
- {
- model: CuraApplication.recentFiles
- MenuItem
- {
- text:
- {
- var path = modelData.toString()
- return (index + 1) + ". " + path.slice(path.lastIndexOf("/") + 1);
- }
- onTriggered:
- {
- var toShowDialog = false;
- var toOpenAsProject = false;
- var toOpenAsModel = false;
- if (CuraApplication.checkIsValidProjectFile(modelData)) {
- // check preference
- var choice = UM.Preferences.getValue("cura/choice_on_open_project");
- if (choice == "open_as_project")
- {
- toOpenAsProject = true;
- }else if (choice == "open_as_model"){
- toOpenAsModel = true;
- }else{
- toShowDialog = true;
- }
- }
- else {
- toOpenAsModel = true;
- }
- if (toShowDialog) {
- askOpenAsProjectOrModelsDialog.fileUrl = modelData;
- askOpenAsProjectOrModelsDialog.show();
- return;
- }
- // open file in the prefered way
- if (toOpenAsProject)
- {
- UM.WorkspaceFileHandler.readLocalFile(modelData);
- }
- else if (toOpenAsModel)
- {
- CuraApplication.readLocalFile(modelData, true);
- }
- var meshName = backgroundItem.getMeshName(modelData.toString())
- backgroundItem.hasMesh(decodeURIComponent(meshName))
- }
- }
- onObjectAdded: menu.insertItem(index, object)
- onObjectRemoved: menu.removeItem(object)
- }
- Cura.AskOpenAsProjectOrModelsDialog
- {
- id: askOpenAsProjectOrModelsDialog
- }
- }
|