diff options
-rw-r--r-- | Info.plist | 30 | ||||
-rw-r--r-- | src/mainwin.cc | 12 |
2 files changed, 40 insertions, 2 deletions
@@ -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 |