| 2105 | } |
| 2106 | |
| 2107 | void MainWindow::openProject(const QString& fileName) |
| 2108 | { |
| 2109 | if (!fileName.isEmpty()) { |
| 2110 | IDE::PMap& pmap = IDE::instance()->projects; |
| 2111 | IDE::PMap::iterator it = pmap.find(fileName); |
| 2112 | if (it==pmap.end()) { |
| 2113 | if (isEmptyProject()) { |
| 2114 | int closeTab = ui->tabWidget->count()==1 ? 0 : -1; |
| 2115 | loadProject(fileName); |
| 2116 | if (closeTab > 0 && ui->tabWidget->count()>1) { |
| 2117 | CodeEditor* ce = qobject_cast<CodeEditor*>(ui->tabWidget->widget(closeTab)); |
| 2118 | if (ce && ce->filepath == "") |
| 2119 | tabCloseRequest(closeTab); |
| 2120 | } |
| 2121 | } else { |
| 2122 | MainWindow* mw = new MainWindow(fileName); |
| 2123 | QPoint p = pos(); |
| 2124 | mw->move(p.x()+20, p.y()+20); |
| 2125 | mw->show(); |
| 2126 | } |
| 2127 | } else { |
| 2128 | it.value()->raise(); |
| 2129 | it.value()->activateWindow(); |
| 2130 | } |
| 2131 | } |
| 2132 | } |
| 2133 | |
| 2134 | void MainWindow::updateRecentProjects(const QString& p) { |
| 2135 | if (!p.isEmpty()) { |