summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Info.plist30
-rw-r--r--src/mainwin.cc12
2 files changed, 40 insertions, 2 deletions
diff --git a/Info.plist b/Info.plist
index 506bab7..84b270f 100644
--- a/Info.plist
+++ b/Info.plist
@@ -38,6 +38,36 @@
<key>LSIsAppleDefaultForType</key>
<true/>
</dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>stl</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>STL 3D file</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>off</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>OFF 3D file</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
+ <dict>
+ <key>CFBundleTypeExtensions</key>
+ <array>
+ <string>dxf</string>
+ </array>
+ <key>CFBundleTypeName</key>
+ <string>DXF file</string>
+ <key>CFBundleTypeRole</key>
+ <string>Viewer</string>
+ </dict>
</array>
<key>NSAppleScriptEnabled</key>
<true/>
diff --git a/src/mainwin.cc b/src/mainwin.cc
index 027f72a..dc6d85c 100644
--- a/src/mainwin.cc
+++ b/src/mainwin.cc
@@ -488,17 +488,25 @@ void MainWindow::requestOpenFile(const QString &)
void
MainWindow::openFile(const QString &new_filename)
{
+ QString actual_filename;
#ifdef ENABLE_MDI
if (!editor->toPlainText().isEmpty()) {
- new MainWindow(new_filename);
+ QFileInfo fi(new_filename);
+ if (!fi.suffix().toLower().contains(QRegExp("^(stl|off|dxf)$"))) {
+ actual_filename = new_filename;
+ }
+ new MainWindow(actual_filename);
clearCurrentOutput();
return;
}
#endif
- setFileName(new_filename);
+ setFileName(actual_filename);
refreshDocument();
updateRecentFiles();
+ if (actual_filename.isEmpty()) {
+ this->editor->setPlainText(QString("import(\"%1\");\n").arg(new_filename));
+ }
}
void
contact: Jan Huwald // Impressum