1 #include "mainwindow.h"
2 #include <QApplication>
3 
4 class SavvyCANApplication : public QApplication
5 {
6 public:
7     MainWindow *mainWindow;
8 
SavvyCANApplication(int & argc,char ** argv)9     SavvyCANApplication(int &argc, char **argv) : QApplication(argc, argv)
10     {
11     }
12 
event(QEvent * event)13     bool event(QEvent *event) override
14     {
15         if (event->type() == QEvent::FileOpen)
16         {
17             QFileOpenEvent *openEvent = static_cast<QFileOpenEvent *>(event);
18             mainWindow->handleDroppedFile(openEvent->file());
19         }
20 
21         return QApplication::event(event);
22     }
23 };
24 
main(int argc,char * argv[])25 int main(int argc, char *argv[])
26 {
27     SavvyCANApplication a(argc, argv);
28 
29     //Add a local path for Qt extensions, to allow for per-application extensions.
30     a.addLibraryPath("plugins");
31 
32     //These things are used by QSettings to set up setting storage
33     a.setOrganizationName("EVTV");
34     a.setApplicationName("SavvyCAN");
35     a.setOrganizationDomain("evtv.me");
36     QSettings::setDefaultFormat(QSettings::IniFormat);
37 
38     a.mainWindow = new MainWindow();
39 
40     QSettings settings;
41     int fontSize = settings.value("Main/FontSize", 9).toUInt();
42     QFont sysFont = QFont(); //get default font
43     sysFont.setPointSize(fontSize);
44     a.setFont(sysFont);
45 
46     a.mainWindow->show();
47 
48     int retCode = a.exec();
49 
50     delete a.mainWindow; a.mainWindow = NULL;
51 
52     return retCode;
53 }
54