diff --git a/src/Mod/Arch/ArchSchedule.py b/src/Mod/Arch/ArchSchedule.py
index 3151ca51fb..5eecf12acc 100644
--- a/src/Mod/Arch/ArchSchedule.py
+++ b/src/Mod/Arch/ArchSchedule.py
@@ -536,20 +536,27 @@ class ArchScheduleTaskPanel:
if not self.obj.Proxy.data:
return
- filename = QtGui.QFileDialog.getSaveFileName(QtGui.QApplication.activeWindow(), translate("Arch","Export CSV File"), None, "CSV (*.csv);;Markdown (*.md)");
+ filename = QtGui.QFileDialog.getSaveFileName(QtGui.QApplication.activeWindow(),
+ translate("Arch","Export CSV File"),
+ None,
+ "Comma-separated values (*.csv);;TAB-separated values (*.tsv);;Markdown (*.md)");
if filename:
filt = filename[1]
filename = filename[0]
if sys.version_info.major < 3:
filename = filename.encode("utf8")
# add missing extension
- if (not filename.lower().endswith(".csv")) and (not filename.lower().endswith(".md")):
+ if (not filename.lower().endswith(".csv")) and (not filename.lower().endswith(".tsv")) and (not filename.lower().endswith(".md")):
if "csv" in filt:
filename += ".csv"
+ elif "tsv" in filt:
+ filename += ".tsv"
else:
filename += ".md"
if filename.lower().endswith(".csv"):
- self.exportCSV(filename)
+ self.exportCSV(filename,delimiter=",")
+ elif filename.lower().endswith(".tsv"):
+ self.exportCSV(filename,delimiter="\t")
elif filename.lower().endswith(".md"):
self.exportMD(filename)
else:
@@ -568,16 +575,13 @@ class ArchScheduleTaskPanel:
rows.sort(key=int)
return rows
- def exportCSV(self,filename):
+ def exportCSV(self,filename,delimiter="\t"):
- """Exports the results as a CSV file"""
-
- # use TAB to separate values
- DELIMITER = "\t"
+ """Exports the results as a CSV/TSV file"""
import csv
with open(filename, 'w') as csvfile:
- csvfile = csv.writer(csvfile,delimiter=DELIMITER)
+ csvfile = csv.writer(csvfile,delimiter=delimiter)
csvfile.writerow([translate("Arch","Description"),translate("Arch","Value"),translate("Arch","Unit")])
if self.obj.DetailedResults:
csvfile.writerow(["","",""])
diff --git a/src/Mod/Arch/Resources/ui/ArchSchedule.ui b/src/Mod/Arch/Resources/ui/ArchSchedule.ui
index 3bb2cbbdff..e07353b61a 100644
--- a/src/Mod/Arch/Resources/ui/ArchSchedule.ui
+++ b/src/Mod/Arch/Resources/ui/ArchSchedule.ui
@@ -24,7 +24,11 @@
-
-
+
+
+ Unnamed schedule
+
+
@@ -124,23 +128,8 @@ Leave blank to use all objects from the document
-
-
-
-
-
-
- Adds a line below the selected line/cell
-
-
- Add row
-
-
-
-
-
-
-
-
- -
+
+
-
Deletes the selected line
@@ -155,7 +144,22 @@ Leave blank to use all objects from the document
- -
+
-
+
+
+ Adds a line below the selected line/cell
+
+
+ Add row
+
+
+
+
+
+
+
+
+ -
Clears the whole list
@@ -170,11 +174,7 @@ Leave blank to use all objects from the document
-
-
- -
-
-
-
+
-
Put selected objects into the "Objects" column of the selected row
@@ -184,7 +184,7 @@ Leave blank to use all objects from the document
- -
+
-
Imports the contents of a CSV file
@@ -199,7 +199,7 @@ Leave blank to use all objects from the document
- -
+
-
<html><head/><body><p>This exports the results to a CSV or Markdown file. </p><p><span style=" font-weight:600;">Note for CSV export:</span></p><p>In Libreoffice, you can keep this CSV file linked by right-clicking the Sheets tab bar -> New sheet -> From file -> Link (Note: as of LibreOffice v5.4.5.1 the correct path now is: Sheets tab bar -> Insert Sheet... -> From file -> Browse...)</p></body></html>