]> Shamusworld >> Repos - architektonas/blobdiff - src/applicationwindow.cpp
Added gratuitous About screen (this time, for real).
[architektonas] / src / applicationwindow.cpp
index b156d15fa90ab926f2ea92098b380b9beef57fa1..38f0d7038a13b7d759c08aff28276ed3200ac329 100644 (file)
 
 #include "applicationwindow.h"
 
+#include "about.h"
 #include "drawingview.h"
 
 
 ApplicationWindow::ApplicationWindow(): settings("Underground Software", "Architektonas")
 {
        drawing = new DrawingView(this);
+       drawing->setMouseTracking(true);                // We want *all* mouse events...!
        setCentralWidget(drawing);
 
+       aboutWin = new AboutWindow(this);
+
 //     ((TTEdit *)qApp)->charWnd = new CharWindow(this);
 
        setWindowIcon(QIcon(":/res/atns-icon.png"));
@@ -84,6 +88,16 @@ void ApplicationWindow::DeleteTool(void)
        Object::SetDeleteActive(deleteAct->isChecked());
 }
 
+void ApplicationWindow::DimensionTool(void)
+{
+       Object::SetDimensionActive(addDimensionAct->isChecked());
+}
+
+void ApplicationWindow::HelpAbout(void)
+{
+       aboutWin->show();
+}
+
 void ApplicationWindow::CreateActions(void)
 {
        exitAct = CreateAction(tr("&Quit"), tr("Quit"), tr("Exits the application."),
@@ -101,13 +115,25 @@ void ApplicationWindow::CreateActions(void)
        deleteAct = CreateAction(tr("&Delete"), tr("Delete Object"), tr("Deletes selected objects."), QIcon(":/res/generic-tool.png"), QKeySequence(), true);
        connect(deleteAct, SIGNAL(triggered()), this, SLOT(DeleteTool()));
 
-       addDimensionAct = CreateAction(tr("Add &Dimension"), tr("Add Dimension"), tr("Adds a dimension to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence());
+       addDimensionAct = CreateAction(tr("Add &Dimension"), tr("Add Dimension"), tr("Adds a dimension to the drawing."), QIcon(":/res/dimension-tool.png"), QKeySequence("D, I"), true);
+       connect(addDimensionAct, SIGNAL(triggered()), this, SLOT(DimensionTool()));
+
+       addLineAct = CreateAction(tr("Add &Line"), tr("Add Line"), tr("Adds a line to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence(), true);
+
+       addCircleAct = CreateAction(tr("Add &Circle"), tr("Add Circle"), tr("Adds a circle to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence(), true);
 
-       addLineAct = CreateAction(tr("Add &Line"), tr("Add Line"), tr("Adds a line to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence());
+       addArcAct = CreateAction(tr("Add &Arc"), tr("Add Arc"), tr("Adds an arc to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence(), true);
 
-       addCircleAct = CreateAction(tr("Add &Circle"), tr("Add Circle"), tr("Adds a circle to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence());
+       aboutAct = CreateAction(tr("About &Architektonas"), tr("About Architektonas"), tr("Gives information about this program."), QIcon(":/res/generic-tool.png"), QKeySequence());
+       connect(aboutAct, SIGNAL(triggered()), this, SLOT(HelpAbout()));
 
-       addArcAct = CreateAction(tr("Add &Arc"), tr("Add Arc"), tr("Adds an arc to the drawing."), QIcon(":/res/generic-tool.png"), QKeySequence());
+       //Hm.
+/*     QActionGroup * group = new QActionGroup(this);
+       group->addAction(deleteAct);
+       group->addAction(addDimensionAct);
+       group->addAction(addLineAct);
+       group->addAction(addCircleAct);
+       group->addAction(addArcAct);//*/
 }
 
 //
@@ -172,8 +198,8 @@ void ApplicationWindow::CreateMenus(void)
 
 //     menuBar()->addSeparator();
 
-//     helpMenu = menuBar()->addMenu(tr("&Help"));
-//     helpMenu->addAction(aboutAct);
+       menu = menuBar()->addMenu(tr("&Help"));
+       menu->addAction(aboutAct);
 //     helpMenu->addAction(aboutQtAct);
 }