• Skip to content
  • Skip to link menu
KDE 4.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

digikam

Digikam::ImageScanner

Digikam::ImageScanner Class Reference

#include <imagescanner.h>

List of all members.

Public Member Functions

 ImageScanner (qlonglong imageid)
 ImageScanner (const QFileInfo &info)
 ImageScanner (const QFileInfo &info, const ItemScanInfo &Iteminfo)
void copiedFrom (int albumId, qlonglong srcId)
void fileModified ()
qlonglong id () const
void newFile (int albumId)
void newFileFullScan (int albumId)
void rescan ()
void setCategory (DatabaseItem::Category category)

Static Public Member Functions

static QString colorModelToString (DImg::COLORMODEL colorModel)
static void copyProperties (qlonglong source, qlonglong destination)
static QDateTime creationDateFromFilesystem (const QFileInfo &info)
static void fillCommonContainer (qlonglong imageid, ImageCommonContainer *container)
static void fillMetadataContainer (qlonglong imageid, ImageMetadataContainer *container)
static QString formatToString (const QString &format)
static QString iptcCorePropertyName (MetadataInfo::Field field)

Protected Types

enum  ScanMode { NewScan, ModifiedScan, Rescan }

Protected Member Functions

void addImage (int albumId)
bool copyFromSource (qlonglong src)
QString detectAudioFormat ()
QString detectFormat ()
QString detectVideoFormat ()
void loadFromDisk ()
void prepareImage ()
void scanAudioFile ()
void scanFile (ScanMode mode)
bool scanFromIdenticalFile ()
void scanImageComments ()
void scanImageCopyright ()
void scanImageInformation ()
void scanImageMetadata ()
void scanImagePosition ()
void scanIPTCCore ()
void scanTags ()
void scanVideoFile ()
QString uniqueHash ()
void updateImage ()

Protected Attributes

QFileInfo m_fileInfo
bool m_hasImage
bool m_hasMetadata
DImg m_img
DMetadata m_metadata
ItemScanInfo m_scanInfo
ScanMode m_scanMode

Detailed Description

Definition at line 41 of file imagescanner.h.


Member Enumeration Documentation

enum Digikam::ImageScanner::ScanMode [protected]
Enumerator:
NewScan 
ModifiedScan 
Rescan 

Definition at line 148 of file imagescanner.h.


Constructor & Destructor Documentation

Digikam::ImageScanner::ImageScanner ( const QFileInfo &  info,
const ItemScanInfo &  Iteminfo 
)

Construct an ImageScanner object from an existing QFileInfo and ItemScanInfo object.

This constructor shall be used with fileModified() or fullScan().

Definition at line 51 of file imagescanner.cpp.

Digikam::ImageScanner::ImageScanner ( const QFileInfo &  info  ) 

Construct an ImageScanner from an existing QFileInfo object.

Use this constructor if you intend to call newFile().

Definition at line 57 of file imagescanner.cpp.

Digikam::ImageScanner::ImageScanner ( qlonglong  imageid  ) 

Construct an ImageScanner for an image in the database.

File info, Scan info and the category will be retrieved from the database.

Definition at line 63 of file imagescanner.cpp.


Member Function Documentation

void Digikam::ImageScanner::addImage ( int  albumId  )  [protected]

Definition at line 197 of file imagescanner.cpp.

QString Digikam::ImageScanner::colorModelToString ( DImg::COLORMODEL  colorModel  )  [static]

Definition at line 785 of file imagescanner.cpp.

void Digikam::ImageScanner::copiedFrom ( int  albumId,
qlonglong  srcId 
)

Similar to newFile.

Call this when you want ImageScanner to add a new file to the database which is a copy of another file, copying attributes from the src and rescanning other attributes as appropriate. Give the id of the album of the new file, and the id of the src file.

Definition at line 118 of file imagescanner.cpp.

bool Digikam::ImageScanner::copyFromSource ( qlonglong  src  )  [protected]

Definition at line 170 of file imagescanner.cpp.

void Digikam::ImageScanner::copyProperties ( qlonglong  source,
qlonglong  destination 
) [static]

Copy all relevant attributes like comments, tags, rating from source to destination.

Definition at line 561 of file imagescanner.cpp.

QDateTime Digikam::ImageScanner::creationDateFromFilesystem ( const QFileInfo &  info  )  [static]

Returns a suitable creation date from file system information.

Use this as a fallback if metadata is not available.

Definition at line 695 of file imagescanner.cpp.

QString Digikam::ImageScanner::detectAudioFormat (  )  [protected]

Definition at line 689 of file imagescanner.cpp.

QString Digikam::ImageScanner::detectFormat (  )  [protected]

Definition at line 623 of file imagescanner.cpp.

QString Digikam::ImageScanner::detectVideoFormat (  )  [protected]

Definition at line 677 of file imagescanner.cpp.

void Digikam::ImageScanner::fileModified (  ) 

Call this when you have detected that a file in the database has been modified on disk.

Only two groups of fields will be updated in the database:

  • filesystem specific properties (those that signaled you that the file has been modified because their state on disk differed from the state in the database)
  • image specific properties, for which a difference in the database independent from the actual file does not make sense (width/height, bit depth, color model)

Definition at line 89 of file imagescanner.cpp.

void Digikam::ImageScanner::fillCommonContainer ( qlonglong  imageid,
ImageCommonContainer *  container 
) [static]

Returns containers with user-presentable information.

These methods provide the reverse service: Not writing into the db, but reading from the db.

Definition at line 872 of file imagescanner.cpp.

void Digikam::ImageScanner::fillMetadataContainer ( qlonglong  imageid,
ImageMetadataContainer *  container 
) [static]

Definition at line 917 of file imagescanner.cpp.

QString Digikam::ImageScanner::formatToString ( const QString &  format  )  [static]

Helper methods to translate enum values to user presentable strings.

Definition at line 707 of file imagescanner.cpp.

qlonglong Digikam::ImageScanner::id (  )  const

Returns the image id of the scanned file, if (yet) available.

Definition at line 78 of file imagescanner.cpp.

QString Digikam::ImageScanner::iptcCorePropertyName ( MetadataInfo::Field  field  )  [static]

Helper method to return official property name by which IPTC core properties are stored in the database (ImageCopyright and ImageProperties table).

Allowed arguments: All MetadataInfo::Fields starting with "IptcCore..."

Definition at line 811 of file imagescanner.cpp.

void Digikam::ImageScanner::loadFromDisk (  )  [protected]

Definition at line 590 of file imagescanner.cpp.

void Digikam::ImageScanner::newFile ( int  albumId  ) 

Call this when you want ImageScanner to add a new file to the database and read all information into the database.

Definition at line 96 of file imagescanner.cpp.

void Digikam::ImageScanner::newFileFullScan ( int  albumId  ) 

Call this when you want ImageScanner to add a new file to the database and read all information into the database.

This variant will not use the unique hash to establish identify with an existing entry, but read all information newly from the file.

Definition at line 104 of file imagescanner.cpp.

void Digikam::ImageScanner::prepareImage (  )  [protected]

Definition at line 187 of file imagescanner.cpp.

void Digikam::ImageScanner::rescan (  ) 

Call this to take an existing image in the database, but re-read all information from the file into the database, possibly overwriting information there.

Definition at line 111 of file imagescanner.cpp.

void Digikam::ImageScanner::scanAudioFile (  )  [protected]

Todo:

Definition at line 544 of file imagescanner.cpp.

void Digikam::ImageScanner::scanFile ( ScanMode  mode  )  [protected]

Definition at line 222 of file imagescanner.cpp.

bool Digikam::ImageScanner::scanFromIdenticalFile (  )  [protected]

Definition at line 149 of file imagescanner.cpp.

void Digikam::ImageScanner::scanImageComments (  )  [protected]

Definition at line 382 of file imagescanner.cpp.

void Digikam::ImageScanner::scanImageCopyright (  )  [protected]

Definition at line 418 of file imagescanner.cpp.

void Digikam::ImageScanner::scanImageInformation (  )  [protected]

Definition at line 263 of file imagescanner.cpp.

void Digikam::ImageScanner::scanImageMetadata (  )  [protected]

Definition at line 353 of file imagescanner.cpp.

void Digikam::ImageScanner::scanImagePosition (  )  [protected]

Definition at line 361 of file imagescanner.cpp.

void Digikam::ImageScanner::scanIPTCCore (  )  [protected]

Definition at line 430 of file imagescanner.cpp.

void Digikam::ImageScanner::scanTags (  )  [protected]

Definition at line 470 of file imagescanner.cpp.

void Digikam::ImageScanner::scanVideoFile (  )  [protected]

Todo:

Definition at line 483 of file imagescanner.cpp.

void Digikam::ImageScanner::setCategory ( DatabaseItem::Category  category  ) 

Inform the scanner about the category of the file.

Required at least for newFile() calls, recommended for calls with the first constructor above as well.

Definition at line 83 of file imagescanner.cpp.

QString Digikam::ImageScanner::uniqueHash (  )  [protected]

Definition at line 614 of file imagescanner.cpp.

void Digikam::ImageScanner::updateImage (  )  [protected]

Definition at line 213 of file imagescanner.cpp.


Member Data Documentation

QFileInfo Digikam::ImageScanner::m_fileInfo [protected]

Definition at line 185 of file imagescanner.h.

bool Digikam::ImageScanner::m_hasImage [protected]

Definition at line 182 of file imagescanner.h.

bool Digikam::ImageScanner::m_hasMetadata [protected]

Definition at line 183 of file imagescanner.h.

DImg Digikam::ImageScanner::m_img [protected]

Definition at line 188 of file imagescanner.h.

DMetadata Digikam::ImageScanner::m_metadata [protected]

Definition at line 187 of file imagescanner.h.

ItemScanInfo Digikam::ImageScanner::m_scanInfo [protected]

Definition at line 189 of file imagescanner.h.

ScanMode Digikam::ImageScanner::m_scanMode [protected]

Definition at line 190 of file imagescanner.h.


The documentation for this class was generated from the following files:
  • imagescanner.h
  • imagescanner.cpp

digikam

Skip menu "digikam"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • digikam
Generated for API Reference by doxygen 1.5.9-20090814
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal