Tested on macos and windows. Drag and drop files onto either the dock icon or task bar icon once SavvyCCAN is running
54 lines
1.3 KiB
C++
54 lines
1.3 KiB
C++
#include "mainwindow.h"
|
|
#include <QApplication>
|
|
|
|
class SavvyCANApplication : public QApplication
|
|
{
|
|
public:
|
|
MainWindow *mainWindow;
|
|
|
|
SavvyCANApplication(int &argc, char **argv) : QApplication(argc, argv)
|
|
{
|
|
}
|
|
|
|
bool event(QEvent *event) override
|
|
{
|
|
if (event->type() == QEvent::FileOpen)
|
|
{
|
|
QFileOpenEvent *openEvent = static_cast<QFileOpenEvent *>(event);
|
|
mainWindow->handleDroppedFile(openEvent->file());
|
|
}
|
|
|
|
return QApplication::event(event);
|
|
}
|
|
};
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
SavvyCANApplication a(argc, argv);
|
|
|
|
//Add a local path for Qt extensions, to allow for per-application extensions.
|
|
a.addLibraryPath("plugins");
|
|
|
|
//These things are used by QSettings to set up setting storage
|
|
a.setOrganizationName("EVTV");
|
|
a.setApplicationName("SavvyCAN");
|
|
a.setOrganizationDomain("evtv.me");
|
|
QSettings::setDefaultFormat(QSettings::IniFormat);
|
|
|
|
a.mainWindow = new MainWindow();
|
|
|
|
QSettings settings;
|
|
int fontSize = settings.value("Main/FontSize", 9).toUInt();
|
|
QFont sysFont = QFont(); //get default font
|
|
sysFont.setPointSize(fontSize);
|
|
a.setFont(sysFont);
|
|
|
|
a.mainWindow->show();
|
|
|
|
int retCode = a.exec();
|
|
|
|
delete a.mainWindow; a.mainWindow = NULL;
|
|
|
|
return retCode;
|
|
}
|