Files
giesCANne/main.cpp
T
Chris Whiteford 51c25f0072 Support dragging and dropping of files onto app icon
Tested on macos and windows.  Drag and drop files onto either the dock icon or task bar icon once SavvyCCAN is running
2021-05-25 11:39:24 -04:00

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;
}