2 // mainwin.cpp - The Supply Chain Manager-O-Matic
4 // (C) 2012 Underground Software
6 // JLH = James Hammons <jlhamm@acm.org>
9 // --- ---------- -------------------------------------------------------------
10 // JLH 09/14/2012 Created this file
13 // Uncomment this for debugging...
15 //#define DEBUGFOO // Various tool debugging...
16 //#define DEBUGTP // Toolpalette debugging...
22 #include "logindialog.h"
25 MainWindow::MainWindow(): aboutWin(new AboutWindow(this)),
28 setWindowIcon(QIcon(":/res/schematic.png"));
29 setWindowTitle("SCheMatic");
31 setUnifiedTitleAndToolBarOnMac(true);
35 quitAppAct = new QAction(tr("E&xit"), this);
36 quitAppAct->setShortcut(QKeySequence(tr("Ctrl+q")));
37 quitAppAct->setStatusTip(tr("Quit SCheMatic"));
38 connect(quitAppAct, SIGNAL(triggered()), this, SLOT(close()));
40 aboutAct = new QAction(QIcon(":/res/schematic.png"), tr("&About..."), this);
41 aboutAct->setStatusTip(tr("Blatant self-promotion"));
42 connect(aboutAct, SIGNAL(triggered()), this, SLOT(ShowAboutWin()));
44 // helpAct = new QAction(QIcon(":/res/vj-icon.png"), tr("&Contents..."), this);
45 // helpAct->setStatusTip(tr("Help is available, if you should need it"));
46 // connect(helpAct, SIGNAL(triggered()), this, SLOT(ShowHelpWin()));
48 // Create menus & toolbars
50 QMenu * menu = menuBar()->addMenu(tr("&File"));
51 // fileMenu->addAction(powerAct);
52 // fileMenu->addAction(pauseAct);
53 // fileMenu->addAction(frameAdvanceAct);
54 // fileMenu->addAction(filePickAct);
55 // fileMenu->addAction(useCDAct);
56 // fileMenu->addAction(configAct);
57 menu->addAction(quitAppAct);
59 menu = menuBar()->addMenu(tr("&Help"));
60 // menu->addAction(helpAct);
61 menu->addAction(aboutAct);
63 QToolBar * toolbar = addToolBar(tr("Stuff"));
64 // toolbar->addAction(powerAct);
65 // toolbar->addAction(pauseAct);
66 // toolbar->addAction(filePickAct);
67 // toolbar->addAction(useCDAct);
68 // toolbar->addSeparator();
69 // toolbar->addAction(x1Act);
70 // toolbar->addAction(x2Act);
71 // toolbar->addAction(x3Act);
72 // toolbar->addSeparator();
73 // toolbar->addAction(ntscAct);
74 // toolbar->addAction(palAct);
75 // toolbar->addSeparator();
76 // toolbar->addAction(blurAct);
77 // toolbar->addAction(fullScreenAct);
80 statusBar()->showMessage(tr("Ready"));
84 // Finally, set up database connection
86 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
87 db.setHostName("localhost");
88 db.setDatabaseName("schematic");
89 db.setUserName("scm_user");
90 db.setPassword("scm_user");
93 #warning "!!! NEED TO SET UP DB SETUP DIALOG IF CONNECTION FAILED !!!"
96 // printf("Database connection was %sopened successfully.\n", (ok ? "" : "NOT "));
104 bool accept = login.exec();
106 // Check to see if user cancelled out
111 // Search DB for this username/login pair
112 QSqlQuery query("SELECT UID FROM User WHERE Login=? AND Password=?");
113 query.addBindValue(login.edit1->text());
114 query.addBindValue(login.edit2->text());
120 loggedInUID = query.value(0).toInt();
129 void MainWindow::closeEvent(QCloseEvent * event)
132 event->accept(); // ignore() if can't close for some reason
136 void MainWindow::Open(void)
141 void MainWindow::ShowAboutWin(void)
147 void MainWindow::ReadSettings(void)
149 QSettings settings("Underground Software", "SCheMatic");
150 QPoint pos = settings.value("pos", QPoint(200, 200)).toPoint();
151 QSize size = settings.value("size", QSize(400, 400)).toSize();
154 // pos = settings.value("charWndPos", QPoint(0, 0)).toPoint();
155 // size = settings.value("charWndSize", QSize(200, 200)).toSize();
156 // ((TTEdit *)qApp)->charWnd->resize(size);
157 // ((TTEdit *)qApp)->charWnd->move(pos);
161 void MainWindow::WriteSettings(void)
163 QSettings settings("Underground Software", "SCheMatic");
164 settings.setValue("pos", pos());
165 settings.setValue("size", size());
166 // settings.setValue("charWndPos", ((TTEdit *)qApp)->charWnd->pos());
167 // settings.setValue("charWndSize", ((TTEdit *)qApp)->charWnd->size());