131 openMainFile (name); |
131 openMainFile (name); |
132 } |
132 } |
133 |
133 |
134 // ============================================================================= |
134 // ============================================================================= |
135 // |
135 // |
136 DEFINE_ACTION (Save, CTRL (S)) |
136 void MainWindow::slot_actionSave() |
137 { |
137 { |
138 save (getCurrentDocument(), false); |
138 save (getCurrentDocument(), false); |
139 } |
139 } |
140 |
140 |
141 // ============================================================================= |
141 // ============================================================================= |
142 // |
142 // |
143 DEFINE_ACTION (SaveAs, CTRL_SHIFT (S)) |
143 void MainWindow::slot_actionSaveAs() |
144 { |
144 { |
145 save (getCurrentDocument(), true); |
145 save (getCurrentDocument(), true); |
146 } |
146 } |
147 |
147 |
148 // ============================================================================= |
148 // ============================================================================= |
149 // |
149 // |
150 DEFINE_ACTION (SaveAll, CTRL (L)) |
150 void MainWindow::slot_actionSaveAll() |
151 { |
151 { |
152 for (LDDocumentPtr file : LDDocument::explicitDocuments()) |
152 for (LDDocumentPtr file : LDDocument::explicitDocuments()) |
153 save (file, false); |
153 save (file, false); |
154 } |
154 } |
155 |
155 |
156 // ============================================================================= |
156 // ============================================================================= |
157 // |
157 // |
158 DEFINE_ACTION (Close, CTRL (W)) |
158 void MainWindow::slot_actionClose() |
159 { |
159 { |
160 if (not getCurrentDocument()->isSafeToClose()) |
160 if (not getCurrentDocument()->isSafeToClose()) |
161 return; |
161 return; |
162 |
162 |
163 getCurrentDocument()->dismiss(); |
163 getCurrentDocument()->dismiss(); |
164 } |
164 } |
165 |
165 |
166 // ============================================================================= |
166 // ============================================================================= |
167 // |
167 // |
168 DEFINE_ACTION (CloseAll, 0) |
168 void MainWindow::slot_actionCloseAll() |
169 { |
169 { |
170 if (not safeToCloseAll()) |
170 if (not safeToCloseAll()) |
171 return; |
171 return; |
172 |
172 |
173 closeAll(); |
173 closeAll(); |
174 } |
174 } |
175 |
175 |
176 // ============================================================================= |
176 // ============================================================================= |
177 // |
177 // |
178 DEFINE_ACTION (Settings, 0) |
178 void MainWindow::slot_actionSettings() |
179 { |
179 { |
180 (new ConfigDialog)->exec(); |
180 (new ConfigDialog)->exec(); |
181 } |
181 } |
182 |
182 |
183 // ============================================================================= |
183 // ============================================================================= |
184 // |
184 // |
185 DEFINE_ACTION (SetLDrawPath, 0) |
185 void MainWindow::slot_actionSetLDrawPath() |
186 { |
186 { |
187 (new LDrawPathDialog (true))->exec(); |
187 (new LDrawPathDialog (true))->exec(); |
188 } |
188 } |
189 |
189 |
190 // ============================================================================= |
190 // ============================================================================= |
191 // |
191 // |
192 DEFINE_ACTION (Exit, CTRL (Q)) |
192 void MainWindow::slot_actionExit() |
193 { |
193 { |
194 exit (0); |
194 exit (0); |
195 } |
195 } |
196 |
196 |
197 // ============================================================================= |
197 // ============================================================================= |
198 // |
198 // |
199 DEFINE_ACTION (NewSubfile, 0) |
199 void MainWindow::slot_actionNewSubfile() |
200 { |
200 { |
201 AddObjectDialog::staticDialog (OBJ_Subfile, LDObjectPtr()); |
201 AddObjectDialog::staticDialog (OBJ_Subfile, LDObjectPtr()); |
202 } |
202 } |
203 |
203 |
204 // ============================================================================= |
204 // ============================================================================= |
205 // |
205 // |
206 DEFINE_ACTION (NewLine, 0) |
206 void MainWindow::slot_actionNewLine() |
207 { |
207 { |
208 AddObjectDialog::staticDialog (OBJ_Line, LDObjectPtr()); |
208 AddObjectDialog::staticDialog (OBJ_Line, LDObjectPtr()); |
209 } |
209 } |
210 |
210 |
211 // ============================================================================= |
211 // ============================================================================= |
212 // |
212 // |
213 DEFINE_ACTION (NewTriangle, 0) |
213 void MainWindow::slot_actionNewTriangle() |
214 { |
214 { |
215 AddObjectDialog::staticDialog (OBJ_Triangle, LDObjectPtr()); |
215 AddObjectDialog::staticDialog (OBJ_Triangle, LDObjectPtr()); |
216 } |
216 } |
217 |
217 |
218 // ============================================================================= |
218 // ============================================================================= |
219 // |
219 // |
220 DEFINE_ACTION (NewQuad, 0) |
220 void MainWindow::slot_actionNewQuad() |
221 { |
221 { |
222 AddObjectDialog::staticDialog (OBJ_Quad, LDObjectPtr()); |
222 AddObjectDialog::staticDialog (OBJ_Quad, LDObjectPtr()); |
223 } |
223 } |
224 |
224 |
225 // ============================================================================= |
225 // ============================================================================= |
226 // |
226 // |
227 DEFINE_ACTION (NewCLine, 0) |
227 void MainWindow::slot_actionNewCLine() |
228 { |
228 { |
229 AddObjectDialog::staticDialog (OBJ_CondLine, LDObjectPtr()); |
229 AddObjectDialog::staticDialog (OBJ_CondLine, LDObjectPtr()); |
230 } |
230 } |
231 |
231 |
232 // ============================================================================= |
232 // ============================================================================= |
233 // |
233 // |
234 DEFINE_ACTION (NewComment, 0) |
234 void MainWindow::slot_actionNewComment() |
235 { |
235 { |
236 AddObjectDialog::staticDialog (OBJ_Comment, LDObjectPtr()); |
236 AddObjectDialog::staticDialog (OBJ_Comment, LDObjectPtr()); |
237 } |
237 } |
238 |
238 |
239 // ============================================================================= |
239 // ============================================================================= |
240 // |
240 // |
241 DEFINE_ACTION (NewBFC, 0) |
241 void MainWindow::slot_actionNewBFC() |
242 { |
242 { |
243 AddObjectDialog::staticDialog (OBJ_BFC, LDObjectPtr()); |
243 AddObjectDialog::staticDialog (OBJ_BFC, LDObjectPtr()); |
244 } |
244 } |
245 |
245 |
246 // ============================================================================= |
246 // ============================================================================= |
247 // |
247 // |
248 DEFINE_ACTION (NewVertex, 0) |
248 void MainWindow::slot_actionNewVertex() |
249 { |
249 { |
250 AddObjectDialog::staticDialog (OBJ_Vertex, LDObjectPtr()); |
250 AddObjectDialog::staticDialog (OBJ_Vertex, LDObjectPtr()); |
251 } |
251 } |
252 |
252 |
253 // ============================================================================= |
253 // ============================================================================= |
254 // |
254 // |
255 DEFINE_ACTION (Edit, 0) |
255 void MainWindow::slot_actionEdit() |
256 { |
256 { |
257 if (selection().size() != 1) |
257 if (selection().size() != 1) |
258 return; |
258 return; |
259 |
259 |
260 LDObjectPtr obj = selection() [0]; |
260 LDObjectPtr obj = selection() [0]; |
261 AddObjectDialog::staticDialog (obj->type(), obj); |
261 AddObjectDialog::staticDialog (obj->type(), obj); |
262 } |
262 } |
263 |
263 |
264 // ============================================================================= |
264 // ============================================================================= |
265 // |
265 // |
266 DEFINE_ACTION (Help, KEY (F1)) |
266 void MainWindow::slot_actionHelp() |
267 { |
267 { |
268 } |
268 } |
269 |
269 |
270 // ============================================================================= |
270 // ============================================================================= |
271 // |
271 // |
272 DEFINE_ACTION (About, 0) |
272 void MainWindow::slot_actionAbout() |
273 { |
273 { |
274 AboutDialog().exec(); |
274 AboutDialog().exec(); |
275 } |
275 } |
276 |
276 |
277 // ============================================================================= |
277 // ============================================================================= |
278 // |
278 // |
279 DEFINE_ACTION (AboutQt, 0) |
279 void MainWindow::slot_actionAboutQt() |
280 { |
280 { |
281 QMessageBox::aboutQt (g_win); |
281 QMessageBox::aboutQt (g_win); |
282 } |
282 } |
283 |
283 |
284 // ============================================================================= |
284 // ============================================================================= |
285 // |
285 // |
286 DEFINE_ACTION (SelectAll, CTRL (A)) |
286 void MainWindow::slot_actionSelectAll() |
287 { |
287 { |
288 for (LDObjectPtr obj : getCurrentDocument()->objects()) |
288 for (LDObjectPtr obj : getCurrentDocument()->objects()) |
289 obj->select(); |
289 obj->select(); |
290 |
290 |
291 ui->objectList->selectAll(); |
291 ui->objectList->selectAll(); |
292 refresh(); |
292 refresh(); |
293 } |
293 } |
294 |
294 |
295 // ============================================================================= |
295 // ============================================================================= |
296 // |
296 // |
297 DEFINE_ACTION (SelectByColor, CTRL_SHIFT (A)) |
297 void MainWindow::slot_actionSelectByColor() |
298 { |
298 { |
299 if (selection().isEmpty()) |
299 if (selection().isEmpty()) |
300 return; |
300 return; |
301 |
301 |
302 QList<LDColor> colors; |
302 QList<LDColor> colors; |
514 } |
514 } |
515 |
515 |
516 // ============================================================================= |
516 // ============================================================================= |
517 // |
517 // |
518 EXTERN_CFGENTRY (Bool, drawAxes); |
518 EXTERN_CFGENTRY (Bool, drawAxes); |
519 DEFINE_ACTION (Axes, 0) |
519 void MainWindow::slot_actionAxes() |
520 { |
520 { |
521 cfg::drawAxes = not cfg::drawAxes; |
521 cfg::drawAxes = not cfg::drawAxes; |
522 updateActions(); |
522 updateActions(); |
523 R()->update(); |
523 R()->update(); |
524 } |
524 } |
525 |
525 |
526 // ============================================================================= |
526 // ============================================================================= |
527 // |
527 // |
528 DEFINE_ACTION (VisibilityToggle, 0) |
528 void MainWindow::slot_actionVisibilityToggle() |
529 { |
529 { |
530 for (LDObjectPtr obj : selection()) |
530 for (LDObjectPtr obj : selection()) |
531 obj->setHidden (not obj->isHidden()); |
531 obj->setHidden (not obj->isHidden()); |
532 |
532 |
533 refresh(); |
533 refresh(); |
534 } |
534 } |
535 |
535 |
536 // ============================================================================= |
536 // ============================================================================= |
537 // |
537 // |
538 DEFINE_ACTION (VisibilityHide, 0) |
538 void MainWindow::slot_actionVisibilityHide() |
539 { |
539 { |
540 for (LDObjectPtr obj : selection()) |
540 for (LDObjectPtr obj : selection()) |
541 obj->setHidden (true); |
541 obj->setHidden (true); |
542 |
542 |
543 refresh(); |
543 refresh(); |
544 } |
544 } |
545 |
545 |
546 // ============================================================================= |
546 // ============================================================================= |
547 // |
547 // |
548 DEFINE_ACTION (VisibilityReveal, 0) |
548 void MainWindow::slot_actionVisibilityReveal() |
549 { |
549 { |
550 for (LDObjectPtr obj : selection()) |
550 for (LDObjectPtr obj : selection()) |
551 obj->setHidden (false); |
551 obj->setHidden (false); |
552 refresh(); |
552 refresh(); |
553 } |
553 } |
554 |
554 |
555 // ============================================================================= |
555 // ============================================================================= |
556 // |
556 // |
557 DEFINE_ACTION (Wireframe, 0) |
557 void MainWindow::slot_actionWireframe() |
558 { |
558 { |
559 cfg::drawWireframe = not cfg::drawWireframe; |
559 cfg::drawWireframe = not cfg::drawWireframe; |
560 R()->refresh(); |
560 R()->refresh(); |
561 } |
561 } |
562 |
562 |
563 // ============================================================================= |
563 // ============================================================================= |
564 // |
564 // |
565 DEFINE_ACTION (SetOverlay, 0) |
565 void MainWindow::slot_actionSetOverlay() |
566 { |
566 { |
567 OverlayDialog dlg; |
567 OverlayDialog dlg; |
568 |
568 |
569 if (not dlg.exec()) |
569 if (not dlg.exec()) |
570 return; |
570 return; |
573 dlg.ofsy(), dlg.lwidth(), dlg.lheight()); |
573 dlg.ofsy(), dlg.lwidth(), dlg.lheight()); |
574 } |
574 } |
575 |
575 |
576 // ============================================================================= |
576 // ============================================================================= |
577 // |
577 // |
578 DEFINE_ACTION (ClearOverlay, 0) |
578 void MainWindow::slot_actionClearOverlay() |
579 { |
579 { |
580 R()->clearOverlay(); |
580 R()->clearOverlay(); |
581 } |
581 } |
582 |
582 |
583 // ============================================================================= |
583 // ============================================================================= |
584 // |
584 // |
585 DEFINE_ACTION (ModeSelect, CTRL (1)) |
585 void MainWindow::slot_actionModeSelect() |
586 { |
586 { |
587 R()->setEditMode (ESelectMode); |
587 R()->setEditMode (ESelectMode); |
588 } |
588 } |
589 |
589 |
590 // ============================================================================= |
590 // ============================================================================= |
591 // |
591 // |
592 DEFINE_ACTION (ModeDraw, CTRL (2)) |
592 void MainWindow::slot_actionModeDraw() |
593 { |
593 { |
594 R()->setEditMode (EDrawMode); |
594 R()->setEditMode (EDrawMode); |
595 } |
595 } |
596 |
596 |
597 // ============================================================================= |
597 // ============================================================================= |
598 // |
598 // |
599 DEFINE_ACTION (ModeCircle, CTRL (3)) |
599 void MainWindow::slot_actionModeCircle() |
600 { |
600 { |
601 R()->setEditMode (ECircleMode); |
601 R()->setEditMode (ECircleMode); |
602 } |
602 } |
603 |
603 |
604 // ============================================================================= |
604 // ============================================================================= |
605 // |
605 // |
606 DEFINE_ACTION (DrawAngles, 0) |
606 void MainWindow::slot_actionDrawAngles() |
607 { |
607 { |
608 cfg::drawAngles = not cfg::drawAngles; |
608 cfg::drawAngles = not cfg::drawAngles; |
609 R()->refresh(); |
609 R()->refresh(); |
610 } |
610 } |
611 |
611 |
612 // ============================================================================= |
612 // ============================================================================= |
613 // |
613 // |
614 DEFINE_ACTION (SetDrawDepth, 0) |
614 void MainWindow::slot_actionSetDrawDepth() |
615 { |
615 { |
616 if (R()->camera() == EFreeCamera) |
616 if (R()->camera() == EFreeCamera) |
617 return; |
617 return; |
618 |
618 |
619 bool ok; |
619 bool ok; |