initial commit

This commit is contained in:
2019-02-11 17:54:49 +01:00
parent 16ae2ee2fb
commit 14abafc139
15 changed files with 883 additions and 60 deletions
+3 -3
View File
@@ -2320,7 +2320,7 @@ UML_LIMIT_NUM_FIELDS = 10
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
TEMPLATE_RELATIONS = NO
TEMPLATE_RELATIONS = YES
# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
# YES then doxygen will generate a graph for each documented file showing the
@@ -2350,7 +2350,7 @@ INCLUDED_BY_GRAPH = YES
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
CALL_GRAPH = NO
CALL_GRAPH = YES
# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
# dependency graph for every global function or class method.
@@ -2362,7 +2362,7 @@ CALL_GRAPH = NO
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
CALLER_GRAPH = NO
CALLER_GRAPH = YES
# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
# hierarchy of all classes instead of a textual one.
+13 -13
View File
@@ -21,8 +21,8 @@ class cEXIFCompression
public:
cEXIFCompression(const qint32& iID, const QString& szCompression);
qint32 m_iID; /**< TODO: describe */
QString m_szCompression; /**< TODO: describe */
qint32 m_iID; /**< TODO: describe */
QString m_szCompression; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFCompression*)
@@ -72,8 +72,8 @@ class cEXIFLightSource
public:
cEXIFLightSource(const qint32& iID, const QString& szLightSource);
qint32 m_iID; /**< TODO: describe */
QString m_szLightSource; /**< TODO: describe */
qint32 m_iID; /**< TODO: describe */
QString m_szLightSource; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFLightSource*)
@@ -121,8 +121,8 @@ class cEXIFFlash
public:
cEXIFFlash(const qint32& iID, const QString& szFlash);
qint32 m_iID; /**< TODO: describe */
QString m_szFlash; /**< TODO: describe */
qint32 m_iID; /**< TODO: describe */
QString m_szFlash; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFFlash*)
@@ -170,11 +170,11 @@ class cEXIFTag
public:
cEXIFTag(const qint32& iTAGID, const QString& szTAGName, const qint32& iIFDID, const qint32& iTypeID, const QString& szDescription);
qint32 m_iTAGID; /**< TODO: describe */
QString m_szTAGName; /**< TODO: describe */
qint32 m_iIFDID; /**< TODO: describe */
qint32 m_iTypeID; /**< TODO: describe */
QString m_szDescription; /**< TODO: describe */
qint32 m_iTAGID; /**< TODO: describe */
QString m_szTAGName; /**< TODO: describe */
qint32 m_iIFDID; /**< TODO: describe */
qint32 m_iTypeID; /**< TODO: describe */
QString m_szDescription; /**< TODO: describe */
};
Q_DECLARE_METATYPE(cEXIFTag*)
@@ -246,8 +246,8 @@ public:
QList<QVariant> valueList();
private:
cEXIFTag* m_lpEXIFTag; /**< TODO: describe */
QList<QVariant> m_valueList; /**< TODO: describe */
cEXIFTag* m_lpEXIFTag; /**< TODO: describe */
QList<QVariant> m_valueList; /**< TODO: describe */
/**
* @brief
+142
View File
@@ -0,0 +1,142 @@
#include "cimage.h"
#include "libraw/libraw.h"
#include <QTransform>
#include <QFileInfo>
cImage::cImage() :
QImage()
{
}
cImage::cImage(const QSize &size, QImage::Format format) :
QImage(size, format)
{
}
cImage::cImage(int width, int height, QImage::Format format) :
QImage(width, height, format)
{
}
cImage::cImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction, void *cleanupInfo) :
QImage(data, width, height, format, cleanupFunction, cleanupInfo)
{
}
cImage::cImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction, void *cleanupInfo) :
QImage(data, width, height, format, cleanupFunction, cleanupInfo)
{
}
cImage::cImage(uchar *data, int width, int height, int bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction, void *cleanupInfo) :
QImage(data, width, height, bytesPerLine, format, cleanupFunction, cleanupInfo)
{
}
cImage::cImage(const uchar *data, int width, int height, int bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction, void *cleanupInfo) :
QImage(data, width, height, bytesPerLine, format, cleanupFunction, cleanupInfo)
{
}
cImage::cImage(const QString &fileName, const char *format) :
QImage()
{
load(fileName, format);
}
cImage::cImage(const QImage &image) :
QImage(image)
{
}
cImage::cImage(QImage &&other) :
QImage(other)
{
}
bool cImage::load(const QString &fileName, const char *format)
{
QFileInfo fileInfo(fileName);
if(!fileInfo.suffix().compare("NEF", Qt::CaseInsensitive))
return(loadRAW(fileName));
if(QImage::load(fileName, format))
return(true);
return(loadRAW(fileName));
}
bool cImage::loadRAW(const QString &fileName)
{
LibRaw rawProcessor;
libraw_processed_image_t* lpOutput;
if(rawProcessor.open_file(fileName.toUtf8()) != LIBRAW_SUCCESS)
return(false);
if(rawProcessor.unpack() != LIBRAW_SUCCESS)
return(false);
rawProcessor.dcraw_process();
lpOutput = rawProcessor.dcraw_make_mem_image();
const libraw_data_t& imgdata = rawProcessor.imgdata;
uchar* pixels = nullptr;
if(lpOutput->type == LIBRAW_IMAGE_JPEG)
{
loadFromData(lpOutput->data, static_cast<int>(lpOutput->data_size), "JPEG");
if(imgdata.sizes.flip != 0)
{
QTransform rotation;
int angle = 0;
if(imgdata.sizes.flip == 3)
angle = 180;
else if(imgdata.sizes.flip == 5)
angle = -90;
else if(imgdata.sizes.flip == 6)
angle = 90;
if(angle != 0)
{
rotation.rotate(angle);
*this = transformed(rotation);
}
}
}
else
{
int numPixels = lpOutput->width * lpOutput->height;
int colorSize = lpOutput->bits / 8;
int pixelSize = lpOutput->colors * colorSize;
pixels = new uchar[numPixels * 4];
uchar* data = lpOutput->data;
for(int i = 0; i < numPixels; i++, data += pixelSize)
{
if(lpOutput->colors == 3)
{
pixels[i * 4] = data[2 * colorSize];
pixels[i * 4 + 1] = data[1 * colorSize];
pixels[i * 4 + 2] = data[0];
}
else
{
pixels[i * 4] = data[0];
pixels[i * 4 + 1] = data[0];
pixels[i * 4 + 2] = data[0];
}
}
*this = QImage(pixels, lpOutput->width, lpOutput->height, QImage::Format_RGB32);
}
rawProcessor.recycle();
return(true);
}
+116
View File
@@ -0,0 +1,116 @@
#ifndef CIMAGE_H
#define CIMAGE_H
#include <QImage>
/**
* @brief
*
*/
class cImage : public QImage
{
public:
cImage();
/**
* @brief
*
* @param size
* @param format
*/
cImage(const QSize &size, QImage::Format format);
/**
* @brief
*
* @param width
* @param height
* @param format
*/
cImage(int width, int height, QImage::Format format);
/**
* @brief
*
* @param data
* @param width
* @param height
* @param format
* @param cleanupFunction
* @param cleanupInfo
*/
cImage(uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr);
/**
* @brief
*
* @param data
* @param width
* @param height
* @param format
* @param cleanupFunction
* @param cleanupInfo
*/
cImage(const uchar *data, int width, int height, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr);
/**
* @brief
*
* @param data
* @param width
* @param height
* @param bytesPerLine
* @param format
* @param cleanupFunction
* @param cleanupInfo
*/
cImage(uchar *data, int width, int height, int bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr);
/**
* @brief
*
* @param data
* @param width
* @param height
* @param bytesPerLine
* @param format
* @param cleanupFunction
* @param cleanupInfo
*/
cImage(const uchar *data, int width, int height, int bytesPerLine, QImage::Format format, QImageCleanupFunction cleanupFunction = nullptr, void *cleanupInfo = nullptr);
/**
* @brief
*
* @param fileName
* @param format
*/
cImage(const QString &fileName, const char *format = nullptr);
/**
* @brief
*
* @param image
*/
cImage(const QImage &image);
/**
* @brief
*
* @param other
*/
cImage(QImage &&other);
/**
* @brief
*
* @param fileName
* @param format
* @return bool
*/
bool load(const QString &fileName, const char *format = nullptr);
private:
/**
* @brief
*
* @param fileName
* @return bool
*/
bool loadRAW(const QString &fileName);
};
#endif // CIMAGE_H
+20 -1
View File
@@ -52,6 +52,7 @@ cMainWindow::cMainWindow(cSplashScreen* lpSplashScreen, QWidget *parent) :
cMainWindow::~cMainWindow()
{
delete m_lpThumbnailViewModel;
delete ui;
}
@@ -66,7 +67,8 @@ void cMainWindow::initUI()
void cMainWindow::createActions()
{
// setToolButtonStyle(Qt::ToolButtonFollowStyle);
setToolButtonStyle(Qt::ToolButtonFollowStyle);
// createFileActions();
// createEditActions();
// createTextActions();
@@ -76,6 +78,7 @@ void cMainWindow::createActions()
// createContextActions();
connect(ui->m_lpThumbnailView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &cMainWindow::onThumbnailSelected);
// connect(ui->m_lpMainTab, &QTabWidget::currentChanged, this, &cMainWindow::onMainTabCurrentChanged);
// connect(ui->m_lpMainTab, &QTabWidget::tabCloseRequested, this, &cMainWindow::onMainTabTabCloseRequested);
// connect(ui->m_lpMdiArea, &QMdiArea::subWindowActivated, this, &cMainWindow::onMdiAreaSubWindowActivated);
@@ -118,6 +121,7 @@ void cMainWindow::loadData()
QStandardItem* lpItem = new QStandardItem(icon, m_pictureList[x]->fileName());
lpItem->setTextAlignment(Qt::AlignCenter);
lpItem->setData(QVariant::fromValue(m_pictureList[x]));
m_lpThumbnailViewModel->appendRow(lpItem);
}
}
@@ -136,3 +140,18 @@ void cMainWindow::closeEvent(QCloseEvent *event)
event->accept();
}
void cMainWindow::onThumbnailSelected(const QItemSelection& /*selection*/, const QItemSelection& /*previous*/)
{
cToolBoxInfo* lpToolBoxInfo = static_cast<cToolBoxInfo*>(ui->m_lpToolBox->widget(0));
if(ui->m_lpThumbnailView->selectionModel()->selectedIndexes().count() != 1)
{
lpToolBoxInfo->setPicture(nullptr);
return;
}
QStandardItem* lpItem = m_lpThumbnailViewModel->itemFromIndex(ui->m_lpThumbnailView->currentIndex());
cPicture* lpPicture = lpItem->data().value<cPicture*>();
lpToolBoxInfo->setPicture(lpPicture);
}
+6
View File
@@ -6,10 +6,13 @@
#include "csplashscreen.h"
#include "cpicture.h"
#include "ctoolboxinfo.h"
#include <QMainWindow>
#include <QCloseEvent>
#include <QStandardItemModel>
#include <QItemSelection>
namespace Ui {
@@ -72,6 +75,9 @@ protected:
\param event
*/
void closeEvent(QCloseEvent* event);
private slots:
void onThumbnailSelected(const QItemSelection& selection, const QItemSelection& previous);
};
#endif // CMAINWINDOW_H
+107 -31
View File
@@ -6,44 +6,112 @@
<rect>
<x>0</x>
<y>0</y>
<width>646</width>
<height>516</height>
<width>927</width>
<height>682</height>
</rect>
</property>
<property name="windowTitle">
<string/>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QGridLayout" name="gridLayout">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QListView" name="m_lpThumbnailView">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="iconSize">
<size>
<width>160</width>
<height>120</height>
</size>
</property>
<property name="resizeMode">
<enum>QListView::Adjust</enum>
</property>
<property name="gridSize">
<size>
<width>180</width>
<height>180</height>
</size>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
<widget class="QSplitter" name="m_lpSplitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QTreeView" name="m_lpFolderView">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>10</width>
<height>0</height>
</size>
</property>
<property name="baseSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
<widget class="QListView" name="m_lpThumbnailView">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
<property name="iconSize">
<size>
<width>160</width>
<height>120</height>
</size>
</property>
<property name="resizeMode">
<enum>QListView::Adjust</enum>
</property>
<property name="gridSize">
<size>
<width>180</width>
<height>180</height>
</size>
</property>
<property name="viewMode">
<enum>QListView::IconMode</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
<widget class="QScrollArea" name="m_lpInfoScrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>87</width>
<height>609</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QToolBox" name="m_lpToolBox">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="cToolBoxInfo" name="m_lpToolBoxInfo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>69</width>
<height>564</height>
</rect>
</property>
<attribute name="label">
<string>Information</string>
</attribute>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</widget>
</item>
</layout>
@@ -53,7 +121,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>646</width>
<width>927</width>
<height>21</height>
</rect>
</property>
@@ -74,6 +142,14 @@
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<customwidgets>
<customwidget>
<class>cToolBoxInfo</class>
<extends>QWidget</extends>
<header>ctoolboxinfo.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
+7
View File
@@ -5,6 +5,7 @@
#include <QSqlQuery>
#include <QSqlError>
#include <QFileInfo>
cPicture::cPicture(qint32 iID, QObject *parent) :
@@ -64,6 +65,12 @@ bool cPicture::fromFile(const QString& szFileName)
m_focalLength35 = exif.focalLength35();
m_gps = exif.gps();
if(!m_dateTime.isValid())
{
QFileInfo fileInfo(m_szFileName);
setDateTime(fileInfo.birthTime());
}
return(true);
}
+247
View File
@@ -42,75 +42,310 @@ public:
bool toDB();
void setID(const qint32& id);
/**
* @brief
*
* @return qint32
*/
qint32 id();
/**
* @brief
*
* @param imageWidth
*/
void setImageWidth(const qint32& imageWidth);
/**
* @brief
*
* @return qint32
*/
qint32 imageWidth();
/**
* @brief
*
* @param imageHeight
*/
void setImageHeight(const qint32& imageHeight);
/**
* @brief
*
* @return qint32
*/
qint32 imageHeight();
/**
* @brief
*
* @param cameraMake
*/
void setCameraMake(const QString& cameraMake);
/**
* @brief
*
* @return QString
*/
QString cameraMake();
/**
* @brief
*
* @param cameraModel
*/
void setCameraModel(const QString& cameraModel);
/**
* @brief
*
* @return QString
*/
QString cameraModel();
/**
* @brief
*
* @param dateTime
*/
void setDateTime(const QDateTime& dateTime);
/**
* @brief
*
* @return QDateTime
*/
QDateTime dateTime();
/**
* @brief
*
* @param fNumber
*/
void setFNumber(const QString& fNumber);
/**
* @brief
*
* @return QString
*/
QString fNumber();
/**
* @brief
*
* @param iso
*/
void setISO(const qint32& iso);
/**
* @brief
*
* @return qint32
*/
qint32 iso();
/**
* @brief
*
* @param flash
*/
void setFlash(const QString& flash);
/**
* @brief
*
* @return QString
*/
QString flash();
/**
* @brief
*
* @param flashID
*/
void setFlashID(const qint32& flashID);
/**
* @brief
*
* @return qint32
*/
qint32 flashID();
/**
* @brief
*
* @param focalLength
*/
void setFocalLength(const qreal& focalLength);
/**
* @brief
*
* @return qreal
*/
qreal focalLength();
/**
* @brief
*
* @param lensMake
*/
void setLensMake(const QString& lensMake);
/**
* @brief
*
* @return QString
*/
QString lensMake();
/**
* @brief
*
* @param lensModel
*/
void setLensModel(const QString& lensModel);
/**
* @brief
*
* @return QString
*/
QString lensModel();
/**
* @brief
*
* @param exposureTime
*/
void setExposureTime(const QString& exposureTime);
/**
* @brief
*
* @return QString
*/
QString exposureTime();
/**
* @brief
*
* @param exposureBias
*/
void setExposureBias(const qint32& exposureBias);
/**
* @brief
*
* @return qint32
*/
qint32 exposureBias();
/**
* @brief
*
* @param exifVersion
*/
void setExifVersion(const QString& exifVersion);
/**
* @brief
*
* @return QString
*/
QString exifVersion();
/**
* @brief
*
* @param dateTimeOriginal
*/
void setDateTimeOriginal(const QDateTime& dateTimeOriginal);
/**
* @brief
*
* @return QDateTime
*/
QDateTime dateTimeOriginal();
/**
* @brief
*
* @param dateTimeDigitized
*/
void setDateTimeDigitized(const QDateTime& dateTimeDigitized);
/**
* @brief
*
* @return QDateTime
*/
QDateTime dateTimeDigitized();
/**
* @brief
*
* @param whiteBalance
*/
void setWhiteBalance(const qint32& whiteBalance);
/**
* @brief
*
* @return qint32
*/
qint32 whiteBalance();
/**
* @brief
*
* @param focalLength35
*/
void setFocalLength35(const qreal& focalLength35);
/**
* @brief
*
* @return qreal
*/
qreal focalLength35();
/**
* @brief
*
* @param gps
*/
void setGPS(const QString& gps);
/**
* @brief
*
* @return QString
*/
QString gps();
/**
* @brief
*
* @param fileName
*/
void setFileName(const QString& fileName);
/**
* @brief
*
* @return QString
*/
QString fileName();
/**
* @brief
*
* @param filePath
*/
void setFilePath(const QString& filePath);
/**
* @brief
*
* @return QString
*/
QString filePath();
/**
* @brief
*
* @param thumbnail
*/
void setThumbnail(const QImage& thumbnail);
/**
* @brief
*
* @return QImage
*/
QImage thumbnail();
signals:
@@ -163,7 +398,19 @@ public:
bool load();
/**
* @brief
*
* @param iID
* @return cPicture
*/
cPicture* add(qint32 iID = -1);
/**
* @brief
*
* @param iID
* @return cPicture
*/
cPicture* find(qint32 iID);
signals:
+9
View File
@@ -7,10 +7,19 @@
#include <QSqlDatabase>
/**
* @brief
*
*/
class cPictureLibrary : public QObject
{
Q_OBJECT
public:
/**
* @brief
*
* @param parent
*/
explicit cPictureLibrary(QObject *parent = nullptr);
/*!
+27 -3
View File
@@ -7,20 +7,44 @@
#include <QTextDocument>
/**
* @brief
*
*/
class cSplashScreen : public QSplashScreen
{
public:
cSplashScreen(const QPixmap& pixmap, QFont &font);
/**
* @brief
*
* @param painter
*/
virtual void drawContents(QPainter *painter);
/**
* @brief
*
* @param message
*/
void showStatusMessage(const QString &message);
/**
* @brief
*
* @param message
*/
void addStatusMessage(const QString &message);
/**
* @brief
*
* @param rect
*/
void setMessageRect(QRect rect);
private:
QTextDocument m_textDocument;
QString m_szMessage;
QRect m_rect;
QTextDocument m_textDocument; /**< TODO: describe */
QString m_szMessage; /**< TODO: describe */
QRect m_rect; /**< TODO: describe */
};
#endif // CSPLASHSCREEN_H
+32
View File
@@ -0,0 +1,32 @@
#include "ctoolboxinfo.h"
#include "ui_ctoolboxinfo.h"
cToolBoxInfo::cToolBoxInfo(QWidget *parent) :
QWidget(parent),
ui(new Ui::cToolBoxInfo)
{
ui->setupUi(this);
}
cToolBoxInfo::~cToolBoxInfo()
{
delete ui;
}
void cToolBoxInfo::setPicture(cPicture* lpPicture)
{
if(!lpPicture)
{
ui->m_lpFileName->setText("---");
ui->m_lpDate->setText("---");
ui->m_lpSize->setText("---");
ui->m_lpCamera->setText("---");
return;
}
ui->m_lpFileName->setText(lpPicture->fileName());
ui->m_lpDate->setText(lpPicture->dateTime().toString());
ui->m_lpSize->setText(QString("%1x%2").arg(lpPicture->imageWidth()).arg(lpPicture->imageHeight()));
ui->m_lpCamera->setText(QString("%1 %2").arg(lpPicture->cameraMake()).arg(lpPicture->cameraModel()));
}
+27
View File
@@ -0,0 +1,27 @@
#ifndef CTOOLBOXINFO_H
#define CTOOLBOXINFO_H
#include "cpicture.h"
#include <QWidget>
namespace Ui {
class cToolBoxInfo;
}
class cToolBoxInfo : public QWidget
{
Q_OBJECT
public:
explicit cToolBoxInfo(QWidget *parent = nullptr);
~cToolBoxInfo();
void setPicture(cPicture* lpPicture);
private:
Ui::cToolBoxInfo* ui;
};
#endif // CTOOLBOXINFO_H
+115
View File
@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>cToolBoxInfo</class>
<widget class="QWidget" name="cToolBoxInfo">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>261</width>
<height>163</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>size:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>filename:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>date:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>camera:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="m_lpFileName">
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="m_lpSize">
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="m_lpDate">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="m_lpCamera">
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
+12 -9
View File
@@ -20,25 +20,23 @@ TEMPLATE = app
win32-msvc* {
contains(QT_ARCH, i386) {
message("msvc 32-bit")
INCLUDEPATH += C:/dev/3rdParty/exiv2/include
LIBS += -LC:\dev\3rdParty\exiv2\lib -lexiv2.dll
} else {
message("msvc 64-bit")
INCLUDEPATH += C:/dev/3rdParty/exiv2/include
LIBS += -LC:\dev\3rdParty\exiv2\lib -lexiv2.dll
}
}
win32-g++ {
message("mingw")
INCLUDEPATH += C:/dev/3rdParty/exiv2/include
LIBS += -LC:\dev\3rdParty\exiv2\lib -lexiv2.dll
INCLUDEPATH += C:\dev\3rdParty\exiv2\include C:\dev\3rdParty\libraw
LIBS += -LC:\dev\3rdParty\exiv2\lib -lexiv2.dll -LC:\dev\3rdParty\libraw\lib -lraw -lws2_32
}
unix {
message("*nix")
}
QMAKE_CXXFLAGS += -DLIBRAW_NODLL -DLIBRAW_NOTHREADS
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
@@ -60,7 +58,9 @@ SOURCES += \
csplashscreen.cpp \
common.cpp \
cpicturelibrary.cpp \
cpicture.cpp
cpicture.cpp \
cimage.cpp \
ctoolboxinfo.cpp
HEADERS += \
cmainwindow.h \
@@ -68,10 +68,13 @@ HEADERS += \
csplashscreen.h \
common.h \
cpicturelibrary.h \
cpicture.h
cpicture.h \
cimage.h \
ctoolboxinfo.h
FORMS += \
cmainwindow.ui
cmainwindow.ui \
ctoolboxinfo.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin