-rw-r--r-- | libopie2/opiemm/opieexif.cpp | 54 | ||||
-rw-r--r-- | libopie2/opiemm/opieexif.h | 7 |
2 files changed, 12 insertions, 49 deletions
diff --git a/libopie2/opiemm/opieexif.cpp b/libopie2/opiemm/opieexif.cpp index 0860ea8..de49937 100644 --- a/libopie2/opiemm/opieexif.cpp +++ b/libopie2/opiemm/opieexif.cpp @@ -268,25 +268,24 @@ int ExifData::ReadJpegSections (QFile & infile, ReadMode_t ReadMode) case M_SOF13: case M_SOF14: case M_SOF15: process_SOFn(Data, marker); default: break; break; } } return true; } - //-------------------------------------------------------------------------- // Discard read data. //-------------------------------------------------------------------------- void ExifData::DiscardData(void) { for (int a=0; a < SectionsRead; a++) free(Sections[a].Data); SectionsRead = 0; } //-------------------------------------------------------------------------- // Convert a 16 bit unsigned value from file's native byte order @@ -1000,91 +999,48 @@ static QImage rotate_270_all( const QImage& img ) { } } return dest; } static QImage rotate_270( const QImage& img ) { if ( img.depth() > 8 ) return rotate_270_all( img ); else return rotate_270_8( img ); } - -static QString color_mode_to_string( bool b ) { +QString ExifData::color_mode_to_string( bool b ) { return b ? QObject::tr( "Colormode: Color\n" ) : QObject::tr( "Colormode: Black and white\n" ); } -static QString compression_to_string( int level ) { +QString ExifData::compression_to_string( int level ) { QString str; switch( level ) { case 1: str = QObject::tr( "Basic" ); break; case 2: str = QObject::tr( "Normal" ); break; case 4: str = QObject::tr( "Fine" ); break; default: str = QObject::tr( "Unknown" ); } return QObject::tr("Quality: %1\n").arg(str); } - -static QDateTime parseDateTime( const QString& string ) -{ - QDateTime dt; - if ( string.length() != 19 ) - return dt; - - QString year = string.left( 4 ); - QString month = string.mid( 5, 2 ); - QString day = string.mid( 8, 2 ); - QString hour = string.mid( 11, 2 ); - QString minute = string.mid( 14, 2 ); - QString seconds = string.mid( 18, 2 ); - - bool ok; - bool allOk = true; - int y = year.toInt( &ok ); - allOk &= ok; - - int mo = month.toInt( &ok ); - allOk &= ok; - - int d = day.toInt( &ok ); - allOk &= ok; - - int h = hour.toInt( &ok ); - allOk &= ok; - - int mi = minute.toInt( &ok ); - allOk &= ok; - - int s = seconds.toInt( &ok ); - allOk &= ok; - - if ( allOk ) { - dt.setDate( QDate( y, mo, d ) ); - dt.setTime( QTime( h, mi, s ) ); - } - - return dt; -} - -static QString white_balance_string( int i ) { +QString ExifData::white_balance_string( int i ) { QString balance; switch ( i ) { case 0: balance = QObject::tr( "Unknown" ); break; case 1: balance = QObject::tr( "Daylight" ); break; case 2: balance = QObject::tr( "Fluorescent" ); break; case 3: @@ -1110,25 +1066,25 @@ static QString white_balance_string( int i ) { break; case 255: balance = QObject::tr( "Other" ); break; default: balance = QObject::tr( "Unknown" ); } return QObject::tr( "White Balance: %1\n" ).arg( balance ); } -static QString metering_mode( int i) { +QString ExifData::metering_mode( int i) { QString meter; switch( i ) { case 0: meter = QObject::tr( "Unknown" ); break; case 1: meter = QObject::tr( "Average" ); break; case 2: meter = QObject::tr( "Center weighted average" ); break; case 3: @@ -1145,25 +1101,25 @@ static QString metering_mode( int i) { break; case 255: meter = QObject::tr( "Other" ); break; default: meter = QObject::tr( "Unknown" ); } return QObject::tr( "Metering Mode: %1\n" ).arg( meter ); } -static QString exposure_program( int i ) { +QString ExifData::exposure_program( int i ) { QString exp; switch( i ) { case 0: exp = QObject::tr( "Not defined" ); break; case 1: exp = QObject::tr( "Manual" ); break; case 2: exp = QObject::tr( "Normal progam" ); break; case 3: diff --git a/libopie2/opiemm/opieexif.h b/libopie2/opiemm/opieexif.h index efaed71..fb06bf8 100644 --- a/libopie2/opiemm/opieexif.h +++ b/libopie2/opiemm/opieexif.h @@ -123,17 +123,24 @@ public: int getWhitebalance() { return Whitebalance; } int getMeteringMode() { return MeteringMode; } float getCCDWidth() { return CCDWidth; } float getExposureBias() { return ExposureBias; } int getExposureProgram() { return ExposureProgram; } int getISOequivalent() { return ISOequivalent; } int getCompressionLevel() { return CompressionLevel; } QString getUserComment() { return UserComment; } QString getComment() { return Comment; } QImage getThumbnail(); bool isThumbnailSane(); bool isNullThumbnail() { return !isThumbnailSane(); } + + // some helpers + static QString color_mode_to_string( bool b ); + static QString compression_to_string( int level ); + static QString white_balance_string( int i ); + static QString metering_mode( int i); + static QString exposure_program( int i ); }; } } #endif |