diff --git a/.gitignore b/.gitignore index f147edf..fab7372 100644 --- a/.gitignore +++ b/.gitignore @@ -1,52 +1,73 @@ -# C++ objects and libs -*.slo -*.lo -*.o +# This file is used to ignore files which are generated +# ---------------------------------------------------------------------------- + +*~ +*.autosave *.a -*.la -*.lai +*.core +*.moc +*.o +*.obj +*.orig +*.rej *.so *.so.* -*.dll -*.dylib - -# Qt-es -object_script.*.Release -object_script.*.Debug -*_plugin_import.cpp -/.qmake.cache -/.qmake.stash -*.pro.user -*.pro.user.* -*.qbs.user -*.qbs.user.* -*.moc -moc_*.cpp -moc_*.h -qrc_*.cpp -ui_*.h -*.qmlc -*.jsc -Makefile* -*build-* +*_pch.h.cpp +*_resource.rc *.qm +.#* +*.*# +core +!core/ +tags +.DS_Store +.directory +*.debug +Makefile* *.prl +*.app +moc_*.cpp +ui_*.h +qrc_*.cpp +Thumbs.db +*.res +*.rc +/.qmake.cache +/.qmake.stash -# Qt unit tests -target_wrapper.* +# qtcreator generated files +*.pro.user* -# QtCreator -*.autosave +# xemacs temporary files +*.flc -# QtCreator Qml -*.qmlproject.user -*.qmlproject.user.* +# Vim temporary files +.*.swp -# QtCreator CMake -CMakeLists.txt.user* +# Visual Studio generated files +*.ib_pdb_index +*.idb +*.ilk +*.pdb +*.sln +*.suo +*.vcproj +*vcproj.*.*.user +*.ncb +*.sdf +*.opensdf +*.vcxproj +*vcxproj.* -# QtCreator 4.8< compilation database -compile_commands.json +# MinGW generated files +*.Debug +*.Release + +# Python byte code +*.pyc + +# Binaries +# -------- +*.dll +*.exe -# QtCreator local machine specific files for imported projects -*creator.user* diff --git a/cameraControl.pro b/cameraControl.pro new file mode 100644 index 0000000..93a8263 --- /dev/null +++ b/cameraControl.pro @@ -0,0 +1,58 @@ +VERSION = 0.0.1.0 +QMAKE_TARGET_COMPANY = WIN-DESIGN +QMAKE_TARGET_PRODUCT = cameraControl +QMAKE_TARGET_DESCRIPTION = cameraControl +QMAKE_TARGET_COPYRIGHT = (c) 2020 WIN-DESIGN + +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +win32-msvc* { + contains(QT_ARCH, i386) { + message("msvc 32-bit") + } else { + message("msvc 64-bit") + } +} + +win32-g++ { + contains(QT_ARCH, x86_64) { + message("mingw 64-bit") + INCLUDEPATH += C:\dev\3rdParty\edsdk\EDSDK\Header + LIBS += -LC:\dev\3rdParty\edsdk\EDSDK_64\Library -lEDSDK.dll + } else { + message("mingw 32-bit") + INCLUDEPATH += C:\dev\3rdParty\edsdk\EDSDK\Header + LIBS += -LC:\dev\3rdParty\edsdk\EDSDK\Library -lEDSDK.dll + } +} + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS +DEFINES += APP_VERSION=\\\"$$VERSION\\\" + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp \ + cmainwindow.cpp + +HEADERS += \ + cmainwindow.h + +FORMS += \ + cmainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/cmainwindow.cpp b/cmainwindow.cpp new file mode 100644 index 0000000..bb05667 --- /dev/null +++ b/cmainwindow.cpp @@ -0,0 +1,60 @@ +#include "cmainwindow.h" +#include "ui_cmainwindow.h" + +#include "EDSDK.h" +#include "EDSDKTypes.h" + +#include + + +cMainWindow::cMainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::cMainWindow) +{ + ui->setupUi(this); + + EdsError err = EDS_ERR_OK; + EdsCameraListRef cameraList = NULL; + EdsUInt32 count = 0; + EdsDeviceInfo deviceInfo; + EdsCameraRef camera = NULL; + + err = EdsInitializeSDK(); + + if(err != EDS_ERR_OK) + return; + + err = EdsGetCameraList(&cameraList); + + if(err != EDS_ERR_OK) + { + EdsTerminateSDK(); + return; + } + + err = EdsGetChildCount(cameraList, &count); + + if(count == 0) + { + err = EDS_ERR_DEVICE_NOT_FOUND; + EdsTerminateSDK(); + return; + } + + for(EdsUInt32 i = 0;i < count;i++) + { + err = EdsGetDeviceInfo(camera , &deviceInfo); + if(err == EDS_ERR_OK && camera == NULL) + { + err = EDS_ERR_DEVICE_NOT_FOUND; + } + } + + EdsTerminateSDK(); +} + +cMainWindow::~cMainWindow() +{ + delete ui; +} + diff --git a/cmainwindow.h b/cmainwindow.h new file mode 100644 index 0000000..65f0642 --- /dev/null +++ b/cmainwindow.h @@ -0,0 +1,21 @@ +#ifndef CMAINWINDOW_H +#define CMAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class cMainWindow; } +QT_END_NAMESPACE + +class cMainWindow : public QMainWindow +{ + Q_OBJECT + +public: + cMainWindow(QWidget *parent = nullptr); + ~cMainWindow(); + +private: + Ui::cMainWindow *ui; +}; +#endif // CMAINWINDOW_H diff --git a/cmainwindow.ui b/cmainwindow.ui new file mode 100644 index 0000000..7dddbe4 --- /dev/null +++ b/cmainwindow.ui @@ -0,0 +1,22 @@ + + + cMainWindow + + + + 0 + 0 + 800 + 600 + + + + cMainWindow + + + + + + + + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..705e3e9 --- /dev/null +++ b/main.cpp @@ -0,0 +1,12 @@ +#include "cmainwindow.h" + +#include + + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + cMainWindow w; + w.show(); + return a.exec(); +}