diff --git a/AnnotationDialog/Dialog.cpp b/AnnotationDialog/Dialog.cpp --- a/AnnotationDialog/Dialog.cpp +++ b/AnnotationDialog/Dialog.cpp @@ -122,9 +122,9 @@ m_description->setTabChangesFocus( true ); // this allows tabbing to the next item in the tab order. m_description->setWhatsThis( i18nc( "@info:whatsthis", "A descriptive text of the image." - "If Use EXIF description is enabled under " + "If Use Exif description is enabled under " "Settings|Configure KPhotoAlbum...|General, a description " - "embedded in the image EXIF information is imported to this field if available." + "embedded in the image Exif information is imported to this field if available." )); m_descriptionDock = createDock( i18n("Description"), QString::fromLatin1("description"), Qt::LeftDockWidgetArea, m_description ); @@ -162,7 +162,7 @@ ); shortCutManager.addDock(m_mapDock, m_annotationMapContainer); connect(m_mapDock, SIGNAL(visibilityChanged(bool)), this, SLOT(annotationMapVisibilityChanged(bool))); - m_mapDock->setWhatsThis( i18nc( "@info:whatsthis", "The map widget allows you to view the location of images if GPS coordinates are found in the EXIF information." )); + m_mapDock->setWhatsThis( i18nc( "@info:whatsthis", "The map widget allows you to view the location of images if GPS coordinates are found in the Exif information." )); #endif // -------------------------------------------------- Categories @@ -599,7 +599,9 @@ } if (m_setup == InputSingleImageConfigMode) { - setWindowTitle(i18n("KPhotoAlbum Annotations (%1/%2)", m_current + 1, m_origList.count())); + setWindowTitle(i18nc("@title:window image %1 of %2 images", "Annotations (%1/%2)", + m_current + 1, + m_origList.count())); m_preview->canCreateAreas( m_setup == InputSingleImageConfigMode && ! info.isVideo() && m_positionableCategories ); @@ -831,7 +833,7 @@ m_revertBut->show(); m_preview->setSearchMode(false); m_preview->setToggleFullscreenPreviewEnabled(m_setup == InputSingleImageConfigMode); - setWindowTitle( i18n("Annotations") ); + setWindowTitle( i18nc("@title:window", "Annotations") ); } Q_FOREACH( ListSelect *ls, m_optionList ) { @@ -864,7 +866,7 @@ QMenu* menu = new QMenu( this ); QMenu* dockMenu =m_dockWindow->createPopupMenu(); menu->addMenu( dockMenu ) - ->setText( i18n( "Configure window layout..." ) ); + ->setText( i18n( "Configure Window Layout..." ) ); QAction* saveCurrent = dockMenu->addAction( i18n("Save Current Window Setup") ); QAction* reset = dockMenu->addAction( i18n( "Reset layout" ) ); @@ -881,7 +883,7 @@ sortTypes ); QAction* dateSort = new QAction( SmallIcon( QString::fromLatin1( "x-office-calendar" ) ), - i18n("Sort by date"), + i18n("Sort by Date"), sortTypes ); alphaTreeSort->setCheckable( true ); alphaFlatSort->setCheckable( true ); @@ -897,9 +899,9 @@ // create MatchType entries menu->addSeparator(); QActionGroup* matchTypes = new QActionGroup( menu ); - QAction* matchFromBeginning = new QAction( i18n( "Match tags from the first character."), matchTypes ); - QAction* matchFromWordStart = new QAction( i18n( "Match tags from word boundaries." ), matchTypes ); - QAction* matchAnywhere = new QAction( i18n( "Match tags anywhere."),matchTypes ); + QAction* matchFromBeginning = new QAction( i18n( "Match Tags from the First Character"), matchTypes ); + QAction* matchFromWordStart = new QAction( i18n( "Match Tags from Word Boundaries"), matchTypes ); + QAction* matchAnywhere = new QAction( i18n( "Match Tags Anywhere"), matchTypes ); matchFromBeginning->setCheckable( true ); matchFromWordStart->setCheckable( true ); matchAnywhere->setCheckable( true ); @@ -917,7 +919,7 @@ menu->addSeparator(); QAction* showSelectedOnly = new QAction( SmallIcon( QString::fromLatin1( "view-filter" ) ), - i18n("Show only selected Ctrl+S"), + i18n("Show Only Selected Ctrl+S"), menu ); showSelectedOnly->setCheckable( true ); showSelectedOnly->setChecked( ShowSelectionOnlyManager::instance().selectionIsLimited() ); diff --git a/BackgroundTaskManager/JobViewer.cpp b/BackgroundTaskManager/JobViewer.cpp --- a/BackgroundTaskManager/JobViewer.cpp +++ b/BackgroundTaskManager/JobViewer.cpp @@ -30,7 +30,7 @@ BackgroundTaskManager::JobViewer::JobViewer(QWidget *parent) : QDialog(parent), m_model(nullptr) { - setWindowTitle(i18n("Background Job Viewer")); + setWindowTitle(i18nc("@title:window", "Background Job Viewer")); QVBoxLayout* mainLayout = new QVBoxLayout; setLayout(mainLayout); diff --git a/Browser/OverviewPage.cpp b/Browser/OverviewPage.cpp --- a/Browser/OverviewPage.cpp +++ b/Browser/OverviewPage.cpp @@ -277,7 +277,7 @@ return nullptr; } - return new OverviewPage( Breadcrumb( i18n("EXIF Search")), info, browser() ); + return new OverviewPage( Breadcrumb( i18n("Exif Search")), info, browser() ); } Browser::BrowserPage* Browser::OverviewPage::activateSearchAction() diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -151,7 +151,7 @@ * Bugfix: Fix crash on i386 due to an uninitialized static variable (Thanks to Matthias Heukäufer for reporting the bug!). -* Enhancement: Various improvements on the EXIF DB. +* Enhancement: Various improvements on the Exif DB. ====================== KPhotoalbum 4.7 released (19.01.2016) ====================== @@ -194,8 +194,8 @@ * Enhancement: Add python script to show birthday info. Also Bugfixes. -* Enhancement: Enable exif search for lens data. Also various enhancements in the general handling - of EXIF lens data (esp. better lens info for generic canon lenses). +* Enhancement: Enable Exif search for lens data. Also various enhancements in the general handling + of Exif lens data (esp. better lens info for generic canon lenses). * Enhancement: Display the image's aspect ratio in the ctrl-i image overlay. @@ -290,8 +290,8 @@ * Enhancement: Implement file copy dialog in the Viewer. -* Enhancement: Added option to ignore specific EXIF comments. - (Some digital cameras set a non-configurable EXIF comment in each image. +* Enhancement: Added option to ignore specific Exif comments. + (Some digital cameras set a non-configurable Exif comment in each image. With this option you can specify which comments should be ignored.) * Bugfix (#254641): The current image is now highlighted when selecting images @@ -437,12 +437,12 @@ 2011-05-30 Jesper K. Pedersen - * Improvement: If you start the exif viewer from the image viewer, + * Improvement: If you start the Exif viewer from the image viewer, then going to the next image in the image viewer, will update the - data shown in the exif viewer. + data shown in the Exif viewer. - If you want to show two exif viewers for two different files, then - simply start two exif viewer on an image, only the latest one + If you want to show two Exif viewers for two different files, then + simply start two Exif viewer on an image, only the latest one started will update when the image changes. 2011-05-15 Miika Turkia @@ -455,7 +455,7 @@ 2010-12-22 Miika Turkia - * Fixed bugs #255286 and #237889, crashes on missing exif information + * Fixed bugs #255286 and #237889, crashes on missing Exif information 2010-10-22 Jesper K. Pedersen @@ -516,7 +516,7 @@ 2010-07-03 Jesper K. Pedersen - * Continue reading info exif from files even if some fails. Thanks + * Continue reading info Exif from files even if some fails. Thanks for patch from Robert Krawitz. * Disable screensaver when running a slideshow. Thanks to @@ -659,7 +659,7 @@ 2009-11-25 Hassan Ibraheem - * fixed bug #211907: Fix EXIF support dialog at startup. Thanks to Olivier Berger + * fixed bug #211907: Fix Exif support dialog at startup. Thanks to Olivier Berger 2009-11-19 Hassan Ibraheem @@ -854,7 +854,7 @@ 2009-06-08 Jesper K. Pedersen - * New images was not correctly inserted into the exif database + * New images was not correctly inserted into the Exif database (thanks to Bart Visscher for a patch that fixes this.) Please rerun "Maintainance->Recreate Exif Search Database" to ensure your database it working again. @@ -1116,7 +1116,7 @@ 2008-03-15 Jan Kundrat - * Support different charsets when displaying EXIF/IPTC metadata + * Support different charsets when displaying Exif/IPTC metadata 2008-02-20 Jan Kundrat @@ -1477,7 +1477,7 @@ 2006-10-22 Jesper K. Pedersen - * It is now possible to bring up the exif dialog from the viewer. + * It is now possible to bring up the Exif dialog from the viewer. * Bugfix: The numbered backup had by accident included the extension .zip for the index.xml file inside the zip file. (Thanks @@ -1503,7 +1503,7 @@ 2006-09-25 Jesper K. Pederse - * Use alternate EXIF reading code in case EXIV2 is not installed. + * Use alternate Exif reading code in case EXIV2 is not installed. ====================== Snapshot Sunday 24/9-2006 =================================== @@ -1789,8 +1789,8 @@ 2005-11-27 Jesper K. Pedersen - * Added an EXIF dialog (available from the browser), plus the - possibilities to see EXIF tags in the viewer. Set of EXIF tokens + * Added an Exif dialog (available from the browser), plus the + possibilities to see Exif tags in the viewer. Set of Exif tokens shown is configurable in the settings dialog. 2005-09-23 Jesper K. Pedersen @@ -1933,11 +1933,11 @@ 2005-01-09 Jesper K. Pedersen - * Improves handling of EXIF data, in particular in the "Read EXIF + * Improves handling of Exif data, in particular in the "Read Exif Data" dialog. It does not overwrite the time, date, orientation, - or comment data unless the EXIF data is actually present. It also + or comment data unless the Exif data is actually present. It also adds two new options that do overwrite the time and date - information with the file modification date/time if the EXIF data + information with the file modification date/time if the Exif data isn't present. Thanks to Robert L Krawitz * BUGFIX: The date parser was not previous translated, while the @@ -1958,7 +1958,7 @@ around SUSE's max image size - due to Robert, it obviously didn't work. - * Read EXIF info out of .thm files (patch from Robert L Krawitz ) + * Read Exif info out of .thm files (patch from Robert L Krawitz ) 2004-12-30 Jesper K. Pedersen @@ -2181,7 +2181,7 @@ * Added the filename to the caption of the viewer. * Thanks to Marco Caldarelli for a patch to - reread EXIF info, available from a dialog in the menu. + reread Exif info, available from a dialog in the menu. 2004-06-13 Jesper K. Pedersen @@ -2257,7 +2257,7 @@ offer to remove it. This fixes the problem where it would instead just be put in a subdirectory. - * Loading descriptions from EXIF information can now be disabled + * Loading descriptions from Exif information can now be disabled * BUGFIX: when exporting the image loader also saved the large images (like 1024x768) to tumbnails dir. Please remove all @@ -2447,14 +2447,14 @@ the imageinfo clas as this will make KPhotoAlbum ask whether date should be trusted. - * Added a configuration option for whether EXIF rotation + * Added a configuration option for whether Exif rotation information should be used or not. 2004-01-23 Jesper K. Pedersen * BUGFIX: It was not possible to generate HTML more than once per session. - * Read date, orientation and description out of EXIF data. + * Read date, orientation and description out of Exif data. 2004-01-21 Jesper K. Pedersen diff --git a/DB/FileInfo.cpp b/DB/FileInfo.cpp --- a/DB/FileInfo.cpp +++ b/DB/FileInfo.cpp @@ -52,7 +52,7 @@ bool DB::FileInfo::updateDataFromFileTimeStamp(const DB::FileName& fileName, DB::ExifMode mode) { - // If the date is valid from EXIF reading, then we should not use the time stamp from the file. + // If the date is valid from Exif reading, then we should not use the time stamp from the file. if ( m_date.isValid() ) return false; diff --git a/DB/ImageInfo.cpp b/DB/ImageInfo.cpp --- a/DB/ImageInfo.cpp +++ b/DB/ImageInfo.cpp @@ -55,7 +55,7 @@ setFileName(fileName); - // Read EXIF information + // Read Exif information if ( readExifInfo ) { ExifMode mode = EXIFMODE_INIT; if ( ! storeExifInfo) diff --git a/DB/NewImageFinder.cpp b/DB/NewImageFinder.cpp --- a/DB/NewImageFinder.cpp +++ b/DB/NewImageFinder.cpp @@ -139,7 +139,7 @@ * * 1) Compute the MD5 checksum * - * 2) Extract the EXIF metadata + * 2) Extract the Exif metadata * * 3) Generate a thumbnail * @@ -175,7 +175,7 @@ * necessary; if an image will belong to a stack, we'll either know * it now or when other images that can be stacked are loaded. * - * 4) The EXIF metadata extraction is now done only once; previously + * 4) The Exif metadata extraction is now done only once; previously * it was performed several times at different stages of the loading * process. * @@ -300,7 +300,7 @@ * subsets of images (with and without thumbnail creation). In terms * of user CPU consumption, thumbnail creation constitutes the large * majority of CPU cycles for processing JPEG files, followed by MD5 - * computation, with EXIF parsing lagging far behind. For RAW files, + * computation, with Exif parsing lagging far behind. For RAW files, * MD5 computation consumes more cycles, likely in part due to the * larger size of RAW files but possibly also related to the smaller * filesize of embedded thumbnails (on the Canon 7D mkII, the embedded @@ -314,15 +314,15 @@ * Thumbnail generation 44% 82% * libjpeg processing 43% 82% * MD5 computation 51% 13% - * Read EXIF 1% 1.0% + * Read Exif 1% 1.0% * * Without thumbnail generation: * ------- --------- ----------- * * RAW JPEG * * MD5 computation 92% 80% - * Read EXIF 4% 10% + * Read Exif 4% 10% * * * CONCLUSIONS @@ -533,7 +533,7 @@ return; // check to see if this is a new version of a previous image - // We'll get the EXIF data later, when we get the MD5 checksum. + // We'll get the Exif data later, when we get the MD5 checksum. ImageInfoPtr info = ImageInfoPtr(new ImageInfo( newFileName, type, false, false )); ImageInfoPtr originalInfo; DB::FileName originalFileName; diff --git a/Exif/Database.cpp b/Exif/Database.cpp --- a/Exif/Database.cpp +++ b/Exif/Database.cpp @@ -650,7 +650,7 @@ const DB::FileNameList allImages = DB::ImageDB::instance()->images(); QProgressDialog dialog; dialog.setModal(true); - dialog.setLabelText(i18n("Rereading EXIF information from all images")); + dialog.setLabelText(i18n("Rereading Exif information from all images")); dialog.setMaximum(allImages.size()); // using a transaction here removes a *huge* overhead on the insert statements startInsertTransaction(); diff --git a/Exif/Info.cpp b/Exif/Info.cpp --- a/Exif/Info.cpp +++ b/Exif/Info.cpp @@ -205,7 +205,7 @@ } /** - * Some Canon cameras stores EXIF info in files ending in .thm, so we need to use those files for fetching EXIF info + * Some Canon cameras stores Exif info in files ending in .thm, so we need to use those files for fetching Exif info * if they exists. */ DB::FileName Exif::Info::exifInfoFile( const DB::FileName& fileName ) diff --git a/Exif/InfoDialog.cpp b/Exif/InfoDialog.cpp --- a/Exif/InfoDialog.cpp +++ b/Exif/InfoDialog.cpp @@ -38,7 +38,7 @@ Exif::InfoDialog::InfoDialog(const DB::FileName& fileName, QWidget* parent) : QDialog(parent) { - setWindowTitle( i18n("EXIF Information") ); + setWindowTitle( i18nc("@title:window", "Exif Information") ); setAttribute(Qt::WA_DeleteOnClose); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); @@ -72,7 +72,7 @@ hlay = new QHBoxLayout; vlay->addLayout(hlay); - QLabel* searchLabel = new QLabel( i18n( "EXIF Label Search: "), top ); + QLabel* searchLabel = new QLabel( i18n( "Exif label search: "), top ); hlay->addWidget( searchLabel ); m_searchBox = new QLineEdit( top ); hlay->addWidget( m_searchBox ); diff --git a/Exif/ReReadDialog.cpp b/Exif/ReReadDialog.cpp --- a/Exif/ReReadDialog.cpp +++ b/Exif/ReReadDialog.cpp @@ -38,29 +38,29 @@ Exif::ReReadDialog::ReReadDialog(QWidget* parent) : QDialog(parent) { - setWindowTitle( i18n("Read EXIF info from files") ); + setWindowTitle( i18nc("@title:window", "Read Exif Info from Files") ); QWidget* top = new QWidget; QVBoxLayout* lay1 = new QVBoxLayout( top ); setLayout(lay1); lay1->addWidget(top); - m_exifDB = new QCheckBox( i18n( "Update EXIF search database" ), top ); + m_exifDB = new QCheckBox( i18n( "Update Exif search database" ), top ); lay1->addWidget( m_exifDB ); if ( !Exif::Database::instance()->isUsable() ) { m_exifDB->hide(); } m_date = new QCheckBox( i18n( "Update image date" ), top ); lay1->addWidget( m_date ); - m_force_date = new QCheckBox( i18n( "Use modification date if EXIF not found" ), top ); + m_force_date = new QCheckBox( i18n( "Use modification date if Exif not found" ), top ); lay1->addWidget( m_force_date ); - m_orientation = new QCheckBox( i18n( "Update image orientation from EXIF information" ), top ); + m_orientation = new QCheckBox( i18n( "Update image orientation from Exif information" ), top ); lay1->addWidget( m_orientation ); - m_description = new QCheckBox( i18n( "Update image description from EXIF information" ), top ); + m_description = new QCheckBox( i18n( "Update image description from Exif information" ), top ); lay1->addWidget( m_description ); QGroupBox* box = new QGroupBox( i18n("Affected Files") ); @@ -135,7 +135,7 @@ if ( !b ) return; - int ret = KMessageBox::warningContinueCancel( this, i18n("

Be aware that setting the data from EXIF may " + int ret = KMessageBox::warningContinueCancel( this, i18n("

Be aware that setting the data from Exif may " "overwrite data you have previously entered " "manually using the image configuration dialog.

" ), i18n( "Override image dates" ) ); diff --git a/Exif/SearchDialog.cpp b/Exif/SearchDialog.cpp --- a/Exif/SearchDialog.cpp +++ b/Exif/SearchDialog.cpp @@ -37,7 +37,7 @@ Exif::SearchDialog::SearchDialog( QWidget* parent ) : KPageDialog( parent ) { - setWindowTitle( i18n("EXIF Search") ); + setWindowTitle( i18nc("@title:window", "Exif Search") ); setFaceType( Tabbed ); QWidget* settings = new QWidget; @@ -410,7 +410,7 @@ { QLabel* label = new QLabel( i18n("Not all images in the database have lens information. " - "Recreate the EXIF search database to ensure lens data for all images.") ); + "Recreate the Exif search database to ensure lens data for all images.") ); layout->addWidget(label); } diff --git a/HTMLGenerator/HTMLDialog.cpp b/HTMLGenerator/HTMLDialog.cpp --- a/HTMLGenerator/HTMLDialog.cpp +++ b/HTMLGenerator/HTMLDialog.cpp @@ -60,7 +60,7 @@ : KPageDialog(parent) , m_list() { - setWindowTitle( i18n("HTML Export") ); + setWindowTitle( i18nc("@title:window", "HTML Export") ); QWidget *mainWidget = new QWidget(this); this->layout()->addWidget(mainWidget); diff --git a/ImportExport/Export.cpp b/ImportExport/Export.cpp --- a/ImportExport/Export.cpp +++ b/ImportExport/Export.cpp @@ -80,7 +80,7 @@ // PENDING(blackie) add warning if images are to be copied into a non empty directory. ExportConfig::ExportConfig() { - setWindowTitle( i18n("Export Configuration / Copy Images") ); + setWindowTitle( i18nc("@title:window", "Export Configuration / Copy Images") ); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel|QDialogButtonBox::Help); QWidget *mainWidget = new QWidget(this); QVBoxLayout *mainLayout = new QVBoxLayout; diff --git a/ImportExport/ImportHandler.cpp b/ImportExport/ImportHandler.cpp --- a/ImportExport/ImportHandler.cpp +++ b/ImportExport/ImportHandler.cpp @@ -91,7 +91,7 @@ m_pendingCopies = m_settings.selectedImages(); m_totalCopied = 0; m_progress = new QProgressDialog( MainWindow::Window::theMainWindow()); - m_progress->setWindowTitle(i18n("Copying Images") ); + m_progress->setWindowTitle(i18nc("@title:window", "Copying Images") ); m_progress->setMinimum( 0 ); m_progress->setMaximum( 2 * m_pendingCopies.count() ); m_progress->show(); @@ -150,7 +150,7 @@ m_totalCopied = 0; m_progress = new QProgressDialog( MainWindow::Window::theMainWindow()); - m_progress->setWindowTitle(i18n("Copying Images") ); + m_progress->setWindowTitle(i18nc("@title:window", "Copying Images") ); m_progress->setMinimum( 0 ); m_progress->setMaximum( 2 * m_pendingCopies.count() ); m_progress->show(); diff --git a/MainWindow/AutoStackImages.cpp b/MainWindow/AutoStackImages.cpp --- a/MainWindow/AutoStackImages.cpp +++ b/MainWindow/AutoStackImages.cpp @@ -46,7 +46,7 @@ AutoStackImages::AutoStackImages( QWidget* parent, const DB::FileNameList& list ) :QDialog( parent ), m_list( list ) { - setWindowTitle( i18n("Automatically Stack Images" ) ); + setWindowTitle( i18nc("@title:window", "Automatically Stack Images" ) ); QWidget* top = new QWidget; QVBoxLayout* lay1 = new QVBoxLayout( top ); diff --git a/MainWindow/CopyPopup.cpp b/MainWindow/CopyPopup.cpp --- a/MainWindow/CopyPopup.cpp +++ b/MainWindow/CopyPopup.cpp @@ -75,10 +75,10 @@ if (copyAction == CopyCurrent || copyAction == LinkCurrent) { if (copyAction == CopyCurrent) { - dialog.setWindowTitle(i18nc("@title:window", "Copy image to...")); + dialog.setWindowTitle(i18nc("@title:window", "Copy Image to...")); dialog.setLabelText(QFileDialog::Accept, i18nc("@action:button", "Copy")); } else if (copyAction == LinkCurrent) { - dialog.setWindowTitle(i18nc("@title:window", "Link image to...")); + dialog.setWindowTitle(i18nc("@title:window", "Link Image to...")); dialog.setLabelText(QFileDialog::Accept, i18nc("@action:button", "Link")); } dialog.setDirectory(m_lastTarget); diff --git a/MainWindow/DeleteDialog.cpp b/MainWindow/DeleteDialog.cpp --- a/MainWindow/DeleteDialog.cpp +++ b/MainWindow/DeleteDialog.cpp @@ -33,7 +33,7 @@ : QDialog(parent) , m_list() { - setWindowTitle( i18n("Removing items") ); + setWindowTitle( i18nc("@title:window", "Removing Items") ); QVBoxLayout *mainLayout = new QVBoxLayout; setLayout(mainLayout); diff --git a/MainWindow/FeatureDialog.cpp b/MainWindow/FeatureDialog.cpp --- a/MainWindow/FeatureDialog.cpp +++ b/MainWindow/FeatureDialog.cpp @@ -39,7 +39,7 @@ FeatureDialog::FeatureDialog( QWidget* parent ) :QDialog( parent ) { - setWindowTitle( i18n("KPhotoAlbum Feature Status") ); + setWindowTitle( i18nc("@title:window", "Feature Status") ); QTextBrowser* browser = new QTextBrowser( this ); @@ -76,9 +76,9 @@ "KDE Userbase Wiki

" ); text += i18n( "

SQLite database support

" - "

KPhotoAlbum allows you to search using a certain number of EXIF tags. For this KPhotoAlbum " - "needs an Sqlite database. " - "In addition the qt package for sqlite (e.g.qt-sql-sqlite) must be installed.

"); + "

KPhotoAlbum allows you to search using a certain number of Exif tags. For this KPhotoAlbum " + "needs an SQLite database. " + "In addition the Qt package for SQLite (e.g. qt-sql-sqlite) must be installed.

"); text += i18n("

Map view for geotagged images

" "

If KPhotoAlbum has been built with support for libkgeomap, " @@ -213,7 +213,7 @@ { QList features; features << Data( i18n("Plug-ins available"), QString::fromLatin1("#kipi"), hasKIPISupport() ); - features << Data( i18n( "Sqlite database support (used for EXIF searches)" ), QString::fromLatin1("#database"), hasEXIV2DBSupport() ); + features << Data( i18n( "SQLite database support (used for Exif searches)" ), QString::fromLatin1("#database"), hasEXIV2DBSupport() ); features << Data( i18n( "Map view for geotagged images." ), QString::fromLatin1("#geomap"), hasGeoMapSupport() ); features << Data( i18n( "Video support" ), QString::fromLatin1("#video"), !supportedVideoMimeTypes().isEmpty() ); diff --git a/MainWindow/InvalidDateFinder.cpp b/MainWindow/InvalidDateFinder.cpp --- a/MainWindow/InvalidDateFinder.cpp +++ b/MainWindow/InvalidDateFinder.cpp @@ -40,7 +40,7 @@ InvalidDateFinder::InvalidDateFinder( QWidget* parent ) :QDialog( parent ) { - setWindowTitle( i18n("Search for Images and Videos with Missing Dates" ) ); + setWindowTitle( i18nc("@title:window", "Search for Images and Videos with Missing Dates" ) ); QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); QWidget *mainWidget = new QWidget(this); QVBoxLayout *mainLayout = new QVBoxLayout; @@ -77,7 +77,7 @@ QDialog* info = new QDialog; QVBoxLayout *mainLayout = new QVBoxLayout; info->setLayout(mainLayout); - info->setWindowTitle( i18n("Image Info" ) ); + info->setWindowTitle( i18nc("@title:window", "Image Info" ) ); KTextEdit* edit = new KTextEdit( info ); mainLayout->addWidget( edit ); @@ -95,7 +95,7 @@ const DB::FileNameList list = DB::ImageDB::instance()->images(); DB::FileNameList toBeShown; QProgressDialog dialog( nullptr); - dialog.setWindowTitle(i18n("Reading file properties")); + dialog.setWindowTitle(i18nc("@title:window", "Reading File Properties")); dialog.setMaximum(list.size()); dialog.setValue(0); int progress = 0; diff --git a/MainWindow/TokenEditor.cpp b/MainWindow/TokenEditor.cpp --- a/MainWindow/TokenEditor.cpp +++ b/MainWindow/TokenEditor.cpp @@ -37,7 +37,7 @@ TokenEditor::TokenEditor( QWidget* parent ) :QDialog( parent ) { - setWindowTitle( i18n( "Remove Tokens" ) ); + setWindowTitle( i18nc("@title:window", "Remove Tokens" ) ); QVBoxLayout *dialogLayout = new QVBoxLayout(this); QWidget* mainContents = new QWidget; diff --git a/MainWindow/Window.cpp b/MainWindow/Window.cpp --- a/MainWindow/Window.cpp +++ b/MainWindow/Window.cpp @@ -276,7 +276,7 @@ } Exif::Database::instance(); // Load the database - qCInfo(TimingLog) << "MainWindow: Loading EXIF DB:" << timer.restart() << "ms."; + qCInfo(TimingLog) << "MainWindow: Loading Exif DB:" << timer.restart() << "ms."; if (!Options::the()->listen().isNull()) RemoteControl::RemoteInterface::instance().listen(Options::the()->listen()); @@ -882,7 +882,7 @@ recreateExif->setText( i18n("Recreate Exif Search Database") ); QAction* rereadExif = actionCollection()->addAction( QString::fromLatin1("reReadExifInfo"), this, SLOT(slotReReadExifInfo()) ); - rereadExif->setText( i18n("Read EXIF Info From Files...") ); + rereadExif->setText( i18n("Read Exif Info from Files...") ); m_sortAllByDateAndTime = actionCollection()->addAction( QString::fromLatin1("sortAllImages"), this, SLOT(slotSortAllByDateAndTime()) ); m_sortAllByDateAndTime->setText( i18n("Sort All by Date && Time") ); diff --git a/Settings/CategoryPage.cpp b/Settings/CategoryPage.cpp --- a/Settings/CategoryPage.cpp +++ b/Settings/CategoryPage.cpp @@ -138,7 +138,7 @@ row++; // Thumbnail size - m_thumbnailSizeInCategoryLabel = new QLabel(i18n("Thumbnail Size:")); + m_thumbnailSizeInCategoryLabel = new QLabel(i18n("Thumbnail size:")); settingsLayout->addWidget(m_thumbnailSizeInCategoryLabel, row, 0); m_thumbnailSizeInCategory = new QSpinBox; m_thumbnailSizeInCategory->setRange(32, 512); @@ -545,7 +545,7 @@ void Settings::CategoryPage::resetCategoryLabel() { - m_categoryLabel->setText(i18n("choose a category to edit it")); + m_categoryLabel->setText(i18n("Choose a category to edit it")); } void Settings::CategoryPage::saveDbNow() diff --git a/Settings/ExifPage.cpp b/Settings/ExifPage.cpp --- a/Settings/ExifPage.cpp +++ b/Settings/ExifPage.cpp @@ -36,10 +36,10 @@ vlay->addLayout( hlay1 ); vlay->addLayout( hlay2 ); - m_exifForViewer = new Exif::TreeView( i18n( "EXIF/IPTC info to show in the Viewer" ), this ); + m_exifForViewer = new Exif::TreeView( i18n( "Exif/IPTC info to show in the viewer" ), this ); hlay1->addWidget( m_exifForViewer ); - m_exifForDialog = new Exif::TreeView( i18n("EXIF/IPTC info to show in the EXIF dialog"), this ); + m_exifForDialog = new Exif::TreeView( i18n("Exif/IPTC info to show in the Exif dialog"), this ); hlay1->addWidget( m_exifForDialog ); QLabel* iptcCharsetLabel = new QLabel( i18n("Character set for image metadata:"), this ); diff --git a/Settings/FileVersionDetectionPage.cpp b/Settings/FileVersionDetectionPage.cpp --- a/Settings/FileVersionDetectionPage.cpp +++ b/Settings/FileVersionDetectionPage.cpp @@ -107,7 +107,7 @@ m_originalFileComponent = new QLineEdit(modifiedBox); layout->addWidget(m_originalFileComponent); - m_moveOriginalContents = new QCheckBox(i18n("Move meta-data (i.e. delete tags from the original):"), modifiedBox); + m_moveOriginalContents = new QCheckBox(i18n("Move meta-data (i.e. delete tags from the original)"), modifiedBox); layout->addWidget(m_moveOriginalContents); m_autoStackNewFiles = new QCheckBox(i18n("Automatically stack new versions of images"), modifiedBox); diff --git a/Settings/GeneralPage.cpp b/Settings/GeneralPage.cpp --- a/Settings/GeneralPage.cpp +++ b/Settings/GeneralPage.cpp @@ -53,14 +53,14 @@ lay->addWidget( timeStampLabel, row, 0 ); lay->addWidget( m_trustTimeStamps, row, 1, 1, 3 ); - // Do EXIF rotate + // Do Exif rotate row++; - m_useEXIFRotate = new QCheckBox( i18n( "Use EXIF orientation information" ), box ); + m_useEXIFRotate = new QCheckBox( i18n( "Use Exif orientation information" ), box ); lay->addWidget( m_useEXIFRotate, row, 0, 1, 4 ); - // Use EXIF description + // Use Exif description row++; - m_useEXIFComments = new QCheckBox( i18n( "Use EXIF description" ), box ); + m_useEXIFComments = new QCheckBox( i18n( "Use Exif description" ), box ); lay->addWidget( m_useEXIFComments, row, 0, 1, 4 ); connect(m_useEXIFComments, &QCheckBox::stateChanged, this, &GeneralPage::useEXIFCommentsChanged); @@ -150,7 +150,7 @@ // Whats This QString txt; - txt = i18n( "

KPhotoAlbum will try to read the image date from EXIF information in the image. " + txt = i18n( "

KPhotoAlbum will try to read the image date from Exif information in the image. " "If that fails it will try to get the date from the file's time stamp.

" "

However, this information will be wrong if the image was scanned in (you want the date the image " "was taken, not the date of the scan).

" diff --git a/Settings/SettingsData.cpp b/Settings/SettingsData.cpp --- a/Settings/SettingsData.cpp +++ b/Settings/SettingsData.cpp @@ -130,7 +130,7 @@ _smoothScale = value( "Viewer", "smoothScale", true ); - // Split the list of EXIF comments that should be stripped automatically to a list + // Split the list of Exif comments that should be stripped automatically to a list QStringList commentsToStrip = value( "General", "commentsToStrip", QString::fromLatin1("") ).split(QString::fromLatin1("-,-"), QString::SkipEmptyParts ); for (QString &comment : commentsToStrip ) @@ -203,7 +203,7 @@ else { if (!m_hasAskedAboutTimeStamps ) { QApplication::setOverrideCursor( Qt::ArrowCursor ); - QString txt = i18n("When reading time information of images, their EXIF info is used. " + QString txt = i18n("When reading time information of images, their Exif info is used. " "Exif info may, however, not be supported by your KPhotoAlbum installation, " "or no valid information may be in the file. " "As a backup, KPhotoAlbum may use the timestamp of the image - this may, " diff --git a/Settings/SettingsDialog.cpp b/Settings/SettingsDialog.cpp --- a/Settings/SettingsDialog.cpp +++ b/Settings/SettingsDialog.cpp @@ -78,8 +78,8 @@ { i18n("Plugins" ), "plugins", m_pluginsPage }, #endif - { i18n("EXIF/IPTC Information" ), "document-properties", m_exifPage }, - { i18n("Database backend"), "document-save", m_databaseBackendPage }, + { i18n("Exif/IPTC Information" ), "document-properties", m_exifPage }, + { i18n("Database Backend"), "document-save", m_databaseBackendPage }, { QString(), "", 0 } }; @@ -100,7 +100,7 @@ this, &SettingsDialog::slotMyOK); connect(this, &QDialog::rejected, m_birthdayPage, &Settings::BirthdayPage::discardChanges); - setWindowTitle( i18n( "Settings" ) ); + setWindowTitle( i18nc("@title:window", "Settings" ) ); connect(m_categoryPage, &Settings::CategoryPage::categoryChangesPending, m_tagGroupsPage, &Settings::TagGroupsPage::categoryChangesPending); diff --git a/Settings/ThumbnailsPage.cpp b/Settings/ThumbnailsPage.cpp --- a/Settings/ThumbnailsPage.cpp +++ b/Settings/ThumbnailsPage.cpp @@ -57,24 +57,24 @@ // Thumbnail aspect ratio ++row; - QLabel* thumbnailAspectRatioLabel = new QLabel( i18n("Thumbnail table cells aspect ratio") ); + QLabel* thumbnailAspectRatioLabel = new QLabel( i18n("Thumbnail table cells aspect ratio:") ); m_thumbnailAspectRatio = new KComboBox( this ); m_thumbnailAspectRatio->addItems( QStringList() << i18n("1:1") << i18n("4:3") << i18n("3:2") << i18n("16:9") << i18n("3:4") << i18n("2:3") << i18n("9:16")); lay->addWidget( thumbnailAspectRatioLabel, row, 0 ); lay->addWidget( m_thumbnailAspectRatio, row, 1 ); // Space around cells ++row; - QLabel* thumbnailSpaceLabel = new QLabel( i18n("Space around cells") ); + QLabel* thumbnailSpaceLabel = new QLabel( i18n("Space around cells:") ); m_thumbnailSpace = new QSpinBox; m_thumbnailSpace->setRange( 0, 20 ); lay->addWidget( thumbnailSpaceLabel, row, 0 ); lay->addWidget( m_thumbnailSpace, row, 1 ); // Background color ++row; - QLabel* backgroundColorLabel = new QLabel( i18n("Background Color") ); + QLabel* backgroundColorLabel = new QLabel( i18n("Background color:") ); m_backgroundColor = new KColorButton; lay->addWidget( backgroundColorLabel, row, 0 ); lay->addWidget( m_backgroundColor, row, 1 ); diff --git a/Settings/ViewerPage.cpp b/Settings/ViewerPage.cpp --- a/Settings/ViewerPage.cpp +++ b/Settings/ViewerPage.cpp @@ -74,7 +74,7 @@ "otherwise it will be shrunk to fit the viewer.

"); m_viewerStandardSize->setWhatsThis( txt); - QLabel* scalingLabel = new QLabel( i18n("Scaling Algorithm"), this ); + QLabel* scalingLabel = new QLabel( i18n("Scaling algorithm:"), this ); m_smoothScale = new KComboBox( this ); m_smoothScale->addItems( QStringList() << i18n("Fastest" ) << i18n("Best") ); scalingLabel->setBuddy( m_smoothScale ); diff --git a/Viewer/ViewerWidget.cpp b/Viewer/ViewerWidget.cpp --- a/Viewer/ViewerWidget.cpp +++ b/Viewer/ViewerWidget.cpp @@ -152,11 +152,11 @@ m_popup->addAction( m_setStackHead ); m_showExifViewer = m_actions->addAction( QString::fromLatin1("viewer-show-exif-viewer"), this, SLOT(showExifViewer()) ); - m_showExifViewer->setText( i18nc("@action:inmenu","Show EXIF Viewer") ); + m_showExifViewer->setText( i18nc("@action:inmenu","Show Exif Viewer") ); m_popup->addAction( m_showExifViewer ); m_copyTo = m_actions->addAction( QString::fromLatin1("viewer-copy-to"), this, SLOT(copyTo()) ); - m_copyTo->setText( i18nc("@action:inmenu","Copy image to...") ); + m_copyTo->setText( i18nc("@action:inmenu","Copy Image to...") ); m_copyTo->setShortcut( Qt::Key_F7 ); m_popup->addAction( m_copyTo ); @@ -491,9 +491,9 @@ } void Viewer::ViewerWidget::setCaptionWithDetail( const QString& detail ) { - setWindowTitle( QString::fromLatin1( "KPhotoAlbum - %1 %2" ) - .arg( currentInfo()->fileName().absolute() ) - .arg( detail ) ); + setWindowTitle( i18nc("@title:window %1 is the filename, %2 it's detail info", "%1 %2", + currentInfo()->fileName().absolute(), + detail ) ); } void Viewer::ViewerWidget::contextMenuEvent( QContextMenuEvent * e ) @@ -1512,7 +1512,7 @@ } QFileDialog dialog( this ); - dialog.setWindowTitle( i18nc("@title:window", "Copy image to...") ); + dialog.setWindowTitle( i18nc("@title:window", "Copy Image to...") ); // use directory of src as start-location: dialog.setDirectory(m_lastCopyToTarget); dialog.selectFile(src.fileName()); diff --git a/Viewer/VisibleOptionsMenu.cpp b/Viewer/VisibleOptionsMenu.cpp --- a/Viewer/VisibleOptionsMenu.cpp +++ b/Viewer/VisibleOptionsMenu.cpp @@ -69,7 +69,7 @@ addAction( m_showFileName ); m_showExif = actions->add(QString::fromLatin1("viewer-show-exif") ); - m_showExif->setText( i18n("Show EXIF") ); + m_showExif->setText( i18n("Show Exif") ); connect(m_showExif, &KToggleAction::toggled, this, &VisibleOptionsMenu::toggleShowEXIF); addAction( m_showExif ); diff --git a/XMLDB/Database.cpp b/XMLDB/Database.cpp --- a/XMLDB/Database.cpp +++ b/XMLDB/Database.cpp @@ -251,9 +251,9 @@ forceUpdate(m_delayedUpdate); m_delayedCache.clear(); m_delayedUpdate.clear(); - // It's the responsibility of the caller to add the EXIF information. + // It's the responsibility of the caller to add the Exif information. // It's more efficient from an I/O perspective to minimize the number - // of passes over the images, and with the ability to add the EXIF + // of passes over the images, and with the ability to add the Exif // data in a transaction, there's no longer any need to read it here. emit totalChanged( m_images.count() ); emit dirty(); diff --git a/XMLDB/FileReader.cpp b/XMLDB/FileReader.cpp --- a/XMLDB/FileReader.cpp +++ b/XMLDB/FileReader.cpp @@ -385,7 +385,7 @@ "

In the Maintenance menu, you can find Display Images with Incomplete Dates " "which you can use to find the images that are missing date information.

" "

You can then select the images that you have reason to believe have a correct date " - "in either their EXIF data or on the file, and execute Maintenance->Read EXIF Info " + "in either their Exif data or on the file, and execute Maintenance->Read Exif Info " "to reread the information.

" "

Finally, once all images have their dates set, you can execute " "Maintenance->Sort All by Date & Time to sort them in the database.

"), diff --git a/main.cpp b/main.cpp --- a/main.cpp +++ b/main.cpp @@ -90,9 +90,9 @@ i18n("Sending patches implementing (.) the \"Set As Wallpaper\" menu in the viewer." "(.) Theme support for HTML generation"), QStringLiteral("teemu.rytilahti@kde-fi.org") ); aboutData.addCredit( i18n("Reimar Imhof"), i18n("Patch to sort items in option listboxes"), QStringLiteral("Reimar.Imhof@netCologne.de") ); - aboutData.addCredit( i18n("Thomas Schwarzgruber"), i18n("Patch to sort images in the thumbnail view, plus reading time info out of EXIF images for existing images"), QStringLiteral("possebaer@gmx.at") ); + aboutData.addCredit( i18n("Thomas Schwarzgruber"), i18n("Patch to sort images in the thumbnail view, plus reading time info out of Exif images for existing images"), QStringLiteral("possebaer@gmx.at") ); aboutData.addCredit( i18n("Marcel Wiesweg"), i18n("Patch which speed up loading of thumbnails plus preview in image property dialog."), QStringLiteral("marcel.wiesweg@gmx.de") ); - aboutData.addCredit( i18n("Marco Caldarelli"), i18n("Patch for making it possible to reread EXIF info using a nice dialog."), QStringLiteral("caldarel@yahoo.it") ); + aboutData.addCredit( i18n("Marco Caldarelli"), i18n("Patch for making it possible to reread Exif info using a nice dialog."), QStringLiteral("caldarel@yahoo.it") ); aboutData.addCredit( i18n("Jean-Michel FAYARD"), i18n("(.) Patch with directory info made available through the browser. (.) Patch for adding a check box for \"and/or\" searches in the search page."), QStringLiteral("jmfayard@gmail.com") ); aboutData.addCredit( i18n("Robert L Krawitz"), i18n("Numerous patches plus profiling KPhotoAlbum again and again."), QStringLiteral("rlk@alum.mit.edu") ); aboutData.addCredit( i18n("Christoph Moseler"), i18n("Numerous patches for lots of bugs plus patches for a few new features"), QStringLiteral("forums@moseler.net") );