[niepce] Use scoped enums if possible.



commit bd38f70d236d247e618bbd3580c298ea2d47f476
Author: Hubert Figuière <hub figuiere net>
Date:   Sat Jun 20 00:13:55 2015 -0400

    Use scoped enums if possible.

 src/engine/db/filebundle.cpp                   |   10 +++---
 src/engine/db/filebundle.hpp                   |    2 +-
 src/engine/db/libfile.cpp                      |   10 +++---
 src/engine/db/libfile.hpp                      |   12 +++---
 src/engine/db/libfolder.hpp                    |   12 +++---
 src/engine/db/library.cpp                      |   15 ++++----
 src/engine/db/library.hpp                      |   38 +++++++++++-----------
 src/engine/library/commands.cpp                |   32 +++++++++---------
 src/ext/libview/header.cc                      |    6 ++--
 src/ext/libview/header.hh                      |    4 +-
 src/fwk/toolkit/metadatawidget.cpp             |   24 +++++++-------
 src/fwk/toolkit/metadatawidget.hpp             |   20 ++++++------
 src/fwk/utils/db/iconnectiondriver.hpp         |   20 ++++++------
 src/fwk/utils/db/sqlite/sqlitecnxdrv.cpp       |   18 +++++-----
 src/fwk/utils/db/sqlite/sqlitecnxdrv.hpp       |    2 +-
 src/fwk/utils/db/sqlstatement.cpp              |    4 +-
 src/ncr/image.cpp                              |   14 ++++----
 src/ncr/image.hpp                              |   14 ++++----
 src/niepce/modules/darkroom/darkroommodule.cpp |    4 +-
 src/niepce/modules/darkroom/imagecanvas.cpp    |    4 +-
 src/niepce/modules/map/mapmodule.cpp           |    2 +-
 src/niepce/ui/filmstripcontroller.cpp          |    2 +-
 src/niepce/ui/gridviewmodule.cpp               |    6 ++--
 src/niepce/ui/imageliststore.cpp               |    8 ++--
 src/niepce/ui/librarycellrenderer.cpp          |    8 ++--
 src/niepce/ui/metadatapanecontroller.cpp       |   42 ++++++++++++------------
 src/niepce/ui/niepcewindow.cpp                 |    8 ++--
 src/niepce/ui/thumb-view/eog-thumb-nav.cpp     |   33 +++++++++---------
 src/niepce/ui/thumb-view/eog-thumb-nav.hpp     |   12 +++---
 src/niepce/ui/thumbstripview.cpp               |   10 +++---
 src/niepce/ui/workspacecontroller.cpp          |   14 ++++----
 31 files changed, 206 insertions(+), 204 deletions(-)
---
diff --git a/src/engine/db/filebundle.cpp b/src/engine/db/filebundle.cpp
index a5c6c6e..275029f 100644
--- a/src/engine/db/filebundle.cpp
+++ b/src/engine/db/filebundle.cpp
@@ -38,21 +38,21 @@ FileBundle::add(const std::string & path)
         if(mime_type.isDigicamRaw()) {
             if(!m_main.empty() && m_jpeg.empty()) {
                 m_jpeg = m_main;
-                m_type = LibFile::FILE_TYPE_RAW_JPEG;
+                m_type = LibFile::FileType::RAW_JPEG;
             }
             else {
-                m_type = LibFile::FILE_TYPE_RAW;
+                m_type = LibFile::FileType::RAW;
             }
             m_main = path;
         }
         else {
             if(!m_main.empty()) {
                 m_jpeg = path;
-                m_type = LibFile::FILE_TYPE_RAW_JPEG;
+                m_type = LibFile::FileType::RAW_JPEG;
             }
             else {
                 m_main = path;
-                m_type = LibFile::FILE_TYPE_IMAGE;
+                m_type = LibFile::FileType::IMAGE;
             }
         }
     }
@@ -61,7 +61,7 @@ FileBundle::add(const std::string & path)
     }
     else if(mime_type.isMovie()) {
         m_main = path;
-        m_type = LibFile::FILE_TYPE_VIDEO;
+        m_type = LibFile::FileType::VIDEO;
     }
     else {
         DBG_OUT("Unkown file %s of type %s\n", path.c_str(), 
diff --git a/src/engine/db/filebundle.hpp b/src/engine/db/filebundle.hpp
index 19ff4df..18470b2 100644
--- a/src/engine/db/filebundle.hpp
+++ b/src/engine/db/filebundle.hpp
@@ -38,7 +38,7 @@ public:
     typedef std::shared_ptr<List> ListPtr;
 
     FileBundle()
-        : m_type(LibFile::FILE_TYPE_UNKNOWN)
+        : m_type(LibFile::FileType::UNKNOWN)
         { }
     LibFile::FileType type() const
         { return m_type; }
diff --git a/src/engine/db/libfile.cpp b/src/engine/db/libfile.cpp
index 7fa6406..6d59bf7 100644
--- a/src/engine/db/libfile.cpp
+++ b/src/engine/db/libfile.cpp
@@ -32,7 +32,7 @@ LibFile::LibFile(library_id_t _id, library_id_t _folderId, library_id_t _fsfilei
     m_main_file(_fsfileid, p),
          m_orientation(0), m_rating(0), m_label(0),
     m_flag(0),
-    m_file_type(FILE_TYPE_UNKNOWN)
+    m_file_type(FileType::UNKNOWN)
 {
     
 }
@@ -117,19 +117,19 @@ LibFile::FileType LibFile::mimetype_to_filetype(fwk::MimeType mime)
 {
     if(mime.isDigicamRaw())
     {
-        return FILE_TYPE_RAW;
+        return FileType::RAW;
     }
     else if(mime.isImage())
     {
-        return FILE_TYPE_IMAGE;
+        return FileType::IMAGE;
     }
     else if(mime.isMovie())
     {
-        return FILE_TYPE_VIDEO;
+        return FileType::VIDEO;
     }
     else
     {
-        return FILE_TYPE_UNKNOWN;
+        return FileType::UNKNOWN;
     }
 }
 
diff --git a/src/engine/db/libfile.hpp b/src/engine/db/libfile.hpp
index e64becb..64c0b72 100644
--- a/src/engine/db/libfile.hpp
+++ b/src/engine/db/libfile.hpp
@@ -42,12 +42,12 @@ public:
     typedef std::list< Ptr > List;
     typedef std::shared_ptr< List > ListPtr;
 
-    enum FileType {
-        FILE_TYPE_UNKNOWN = 0,
-        FILE_TYPE_RAW = 1,
-        FILE_TYPE_RAW_JPEG = 2,
-        FILE_TYPE_IMAGE = 3,
-        FILE_TYPE_VIDEO = 4
+    enum class FileType {
+        UNKNOWN = 0,
+        RAW = 1,
+        RAW_JPEG = 2,
+        IMAGE = 3,
+        VIDEO = 4
     };
 
     static FileType mimetype_to_filetype(fwk::MimeType mime);
diff --git a/src/engine/db/libfolder.hpp b/src/engine/db/libfolder.hpp
index d2de891..9f56457 100644
--- a/src/engine/db/libfolder.hpp
+++ b/src/engine/db/libfolder.hpp
@@ -37,17 +37,17 @@ public:
     typedef std::shared_ptr< LibFolder > Ptr;
     typedef std::list< Ptr > List;
     typedef std::shared_ptr< List > ListPtr;
-    typedef enum {
-        VIRTUAL_NONE = 0,
-        VIRTUAL_TRASH = 1,
+    enum class VirtualType {
+        NONE = 0,
+        TRASH = 1,
 
-        _VIRTUAL_LAST
-    } VirtualType;
+        _LAST
+    };
 
     LibFolder(library_id_t _id, std::string _name)
         : m_id(_id), m_name(_name)
         , m_locked(false)
-        , m_virtual(VIRTUAL_NONE)
+        , m_virtual(VirtualType::NONE)
         {
         }
     library_id_t id() const
diff --git a/src/engine/db/library.cpp b/src/engine/db/library.cpp
index bc70a26..f002053 100644
--- a/src/engine/db/library.cpp
+++ b/src/engine/db/library.cpp
@@ -80,7 +80,7 @@ Library::~Library()
 void Library::triggerRewriteXmp(void)
 {
     DBG_OUT("rewrite_xmp");
-    notify(NOTIFY_XMP_NEEDS_UPDATE, boost::any());
+    notify(NotifyType::XMP_NEEDS_UPDATE, boost::any());
 }
 
 void Library::notify(NotifyType t, const boost::any & param)
@@ -144,7 +144,7 @@ bool Library::_initDb()
         boost::format("insert into folders (name, locked, virtual, parent_id) "
                       " values ('%1%', 1, %2%, 0)")
         % _("Trash")
-        % int(LibFolder::VIRTUAL_TRASH));
+        % int(LibFolder::VirtualType::TRASH));
     SQLStatement fileTable("CREATE TABLE files (id INTEGER PRIMARY KEY,"
                            " main_file INTEGER, name TEXT, parent_id INTEGER,"
                            " orientation INTEGER, file_type INTEGER, "
@@ -197,7 +197,7 @@ bool Library::_initDb()
 
     m_dbdrv->execute_statement(fileUpdateTrigger);
     m_dbdrv->execute_statement(xmpUpdateTrigger);
-    notify(NOTIFY_NEW_LIBRARY_CREATED, boost::any());
+    notify(NotifyType::NEW_LIBRARY_CREATED, boost::any());
     return true;
 }
 
@@ -285,7 +285,7 @@ library_id_t Library::addFile(library_id_t folder_id, const std::string & file,
         std::string label;
         fwk::MimeType mime = fwk::MimeType(file);
         eng::LibFile::FileType file_type = eng::LibFile::mimetype_to_filetype(mime);
-        fwk::XmpMeta meta(file, file_type == eng::LibFile::FILE_TYPE_RAW);
+        fwk::XmpMeta meta(file, file_type == eng::LibFile::FileType::RAW);
         label_id = 0;
         orientation = meta.orientation();
         rating = meta.rating();
@@ -314,7 +314,7 @@ library_id_t Library::addFile(library_id_t folder_id, const std::string & file,
                          % fs_file_id % fwk::path_basename(file) % folder_id
                          % time(NULL)
                          % orientation % creation_date % rating
-                         % label_id % file_type % flag);
+                         % label_id % static_cast<int>(file_type) % flag);
         std::string buf = meta.serialize_inline();
         sql.bind(1, buf);
         if(m_dbdrv->execute_statement(sql)) {
@@ -405,7 +405,8 @@ bool Library::addJpegFileToBundle(library_id_t file_id, library_id_t fsfile_id)
     SQLStatement sql(boost::format("UPDATE files SET jpeg_file='%2%',"
                                    " file_type='%3%' "
                                    " WHERE id='%1%';")
-                     % file_id % fsfile_id % LibFile::FILE_TYPE_RAW_JPEG);
+                     % file_id % fsfile_id
+                     % static_cast<int>(LibFile::FileType::RAW_JPEG));
     try {
         return m_dbdrv->execute_statement(sql);
     }
@@ -602,7 +603,7 @@ library_id_t Library::makeKeyword(const std::string & keyword)
             if(m_dbdrv->execute_statement(sql2)) {
                 keyword_id = m_dbdrv->last_row_id();
                 Keyword::Ptr kw(new Keyword(keyword_id, keyword));
-                notify(NOTIFY_ADDED_KEYWORD, boost::any(kw));
+                notify(NotifyType::ADDED_KEYWORD, boost::any(kw));
             }
         }
         catch(fwk::Exception & e)
diff --git a/src/engine/db/library.hpp b/src/engine/db/library.hpp
index 7b81207..0d8eb6b 100644
--- a/src/engine/db/library.hpp
+++ b/src/engine/db/library.hpp
@@ -53,25 +53,25 @@ class Library
 public:
     typedef std::shared_ptr<Library> Ptr;
 
-    typedef enum {
-        NOTIFY_NONE = 0,
-        NOTIFY_NEW_LIBRARY_CREATED,
-        NOTIFY_ADDED_FOLDERS,
-        NOTIFY_ADDED_FILES,
-        NOTIFY_ADDED_KEYWORDS,
-        NOTIFY_ADDED_KEYWORD,
-        NOTIFY_ADDED_LABELS,
-        NOTIFY_FOLDER_CONTENT_QUERIED,
-        NOTIFY_KEYWORD_CONTENT_QUERIED,
-        NOTIFY_METADATA_QUERIED,
-        NOTIFY_METADATA_CHANGED,
-        NOTIFY_LABEL_CHANGED,
-        NOTIFY_LABEL_DELETED,
-        NOTIFY_XMP_NEEDS_UPDATE,
-        NOTIFY_FOLDER_COUNTED,
-        NOTIFY_FOLDER_COUNT_CHANGE,
-        NOTIFY_FILE_MOVED
-    } NotifyType;
+    enum class NotifyType {
+        NONE = 0,
+        NEW_LIBRARY_CREATED,
+        ADDED_FOLDERS,
+        ADDED_FILES,
+        ADDED_KEYWORDS,
+        ADDED_KEYWORD,
+        ADDED_LABELS,
+        FOLDER_CONTENT_QUERIED,
+        KEYWORD_CONTENT_QUERIED,
+        METADATA_QUERIED,
+        METADATA_CHANGED,
+        LABEL_CHANGED,
+        LABEL_DELETED,
+        XMP_NEEDS_UPDATE,
+        FOLDER_COUNTED,
+        FOLDER_COUNT_CHANGE,
+        FILE_MOVED
+    };
 
     Library(const std::string & dir, const fwk::NotificationCenter::Ptr & nc);
     virtual ~Library();
diff --git a/src/engine/library/commands.cpp b/src/engine/library/commands.cpp
index b7fd629..bc8a38b 100644
--- a/src/engine/library/commands.cpp
+++ b/src/engine/library/commands.cpp
@@ -43,7 +43,7 @@ void Commands::cmdListAllKeywords(const Library::Ptr & lib)
     lib->getAllKeywords( l );
     /////
     // notify folder added l
-    lib->notify(Library::NOTIFY_ADDED_KEYWORDS, boost::any(l));
+    lib->notify(Library::NotifyType::ADDED_KEYWORDS, boost::any(l));
 }
 
 void Commands::cmdListAllFolders(const Library::Ptr & lib)
@@ -52,7 +52,7 @@ void Commands::cmdListAllFolders(const Library::Ptr & lib)
     lib->getAllFolders( l );
     /////
     // notify folder added l
-    lib->notify(Library::NOTIFY_ADDED_FOLDERS, boost::any(l));
+    lib->notify(Library::NotifyType::ADDED_FOLDERS, boost::any(l));
 }
        
 void Commands::cmdImportFiles(const Library::Ptr & lib, 
@@ -70,14 +70,14 @@ void Commands::cmdImportFiles(const Library::Ptr & lib,
         pf = lib->addFolder(folder);
         LibFolder::ListPtr l( new LibFolder::List );
         l->push_back(pf);
-        lib->notify(Library::NOTIFY_ADDED_FOLDERS,
+        lib->notify(Library::NotifyType::ADDED_FOLDERS,
                     boost::any(l));
     }
     using std::placeholders::_1;
     std::for_each( bundles->begin(), bundles->end(),
                    std::bind(&Library::addBundle, std::ref(lib),
                         pf->id(), _1, manage) );
-    lib->notify(Library::NOTIFY_ADDED_FILES,
+    lib->notify(Library::NotifyType::ADDED_FILES,
                 boost::any());
 }
 
@@ -87,14 +87,14 @@ void Commands::cmdQueryFolderContent(const Library::Ptr & lib,
 {
     LibFile::ListPtr fl(new LibFile::List());
     lib->getFolderContent(folder_id, fl);
-    lib->notify(Library::NOTIFY_FOLDER_CONTENT_QUERIED, boost::any(fl));               
+    lib->notify(Library::NotifyType::FOLDER_CONTENT_QUERIED, boost::any(fl));          
 }
 
 void Commands::cmdCountFolder(const Library::Ptr & lib, 
                               eng::library_id_t folder_id)
 {
     int count = lib->countFolder(folder_id);
-    lib->notify(Library::NOTIFY_FOLDER_COUNTED, boost::any(std::make_pair(folder_id, count)));
+    lib->notify(Library::NotifyType::FOLDER_COUNTED, boost::any(std::make_pair(folder_id, count)));
 }
 
 void Commands::cmdQueryKeywordContent(const Library::Ptr & lib, 
@@ -102,7 +102,7 @@ void Commands::cmdQueryKeywordContent(const Library::Ptr & lib,
 {
     LibFile::ListPtr fl(new LibFile::List());
     lib->getKeywordContent(keyword_id, fl);
-    lib->notify(Library::NOTIFY_KEYWORD_CONTENT_QUERIED, boost::any(fl));              
+    lib->notify(Library::NotifyType::KEYWORD_CONTENT_QUERIED, boost::any(fl));         
 }
 
 void Commands::cmdRequestMetadata(const Library::Ptr & lib,
@@ -110,7 +110,7 @@ void Commands::cmdRequestMetadata(const Library::Ptr & lib,
 {
     LibMetadata::Ptr lm(new LibMetadata(file_id));
     lib->getMetaData(file_id, lm);
-    lib->notify(Library::NOTIFY_METADATA_QUERIED, boost::any(lm));
+    lib->notify(Library::NotifyType::METADATA_QUERIED, boost::any(lm));
 }
 
 void Commands::cmdSetMetadata(const Library::Ptr & lib,
@@ -122,7 +122,7 @@ void Commands::cmdSetMetadata(const Library::Ptr & lib,
     m.meta = meta;
     m.value = value;
     lib->setMetaData(file_id, meta, value);
-    lib->notify(Library::NOTIFY_METADATA_CHANGED, boost::any(m));
+    lib->notify(Library::NotifyType::METADATA_CHANGED, boost::any(m));
 }
 
 void Commands::cmdWriteMetadata(const Library::Ptr & lib,
@@ -139,9 +139,9 @@ void Commands::cmdMoveFileToFolder(const Library::Ptr & lib,
         std::pair<library_id_t, library_id_t> move;
         move.first = file_id;
         move.second = to_folder_id;
-        lib->notify(Library::NOTIFY_FILE_MOVED, boost::any(move));
-        lib->notify(Library::NOTIFY_FOLDER_COUNT_CHANGE, boost::any(std::make_pair(from_folder_id, -1)));
-        lib->notify(Library::NOTIFY_FOLDER_COUNT_CHANGE, boost::any(std::make_pair(to_folder_id, 1)));
+        lib->notify(Library::NotifyType::FILE_MOVED, boost::any(move));
+        lib->notify(Library::NotifyType::FOLDER_COUNT_CHANGE, boost::any(std::make_pair(from_folder_id, 
-1)));
+        lib->notify(Library::NotifyType::FOLDER_COUNT_CHANGE, boost::any(std::make_pair(to_folder_id, 1)));
     }
 }
 
@@ -149,7 +149,7 @@ void Commands::cmdListAllLabels(const Library::Ptr & lib)
 {
     eng::Label::ListPtr l(new eng::Label::List);
     lib->getAllLabels(l);
-    lib->notify(Library::NOTIFY_ADDED_LABELS, boost::any(l));
+    lib->notify(Library::NotifyType::ADDED_LABELS, boost::any(l));
 }
 
 void Commands::cmdCreateLabel(const Library::Ptr & lib,
@@ -159,7 +159,7 @@ void Commands::cmdCreateLabel(const Library::Ptr & lib,
     if(id != -1) {
         eng::Label::ListPtr l(new eng::Label::List);
         l->push_back(eng::Label::Ptr(new eng::Label(id, s, color)));
-        lib->notify(Library::NOTIFY_ADDED_LABELS, boost::any(l));
+        lib->notify(Library::NotifyType::ADDED_LABELS, boost::any(l));
     }
 }
 
@@ -168,7 +168,7 @@ void Commands::cmdDeleteLabel(const Library::Ptr & lib,
                               int label_id)
 {
     lib->deleteLabel(label_id);
-    lib->notify(Library::NOTIFY_LABEL_DELETED, boost::any(label_id));
+    lib->notify(Library::NotifyType::LABEL_DELETED, boost::any(label_id));
 }
 
 
@@ -178,7 +178,7 @@ void Commands::cmdUpdateLabel(const Library::Ptr & lib,
 {
     lib->updateLabel(label_id, name, color);
     eng::Label::Ptr label(new eng::Label(label_id, name, color));
-    lib->notify(Library::NOTIFY_LABEL_CHANGED, boost::any(label));
+    lib->notify(Library::NotifyType::LABEL_CHANGED, boost::any(label));
 }
 
 
diff --git a/src/ext/libview/header.cc b/src/ext/libview/header.cc
index e83bb7f..0a5d929 100644
--- a/src/ext/libview/header.cc
+++ b/src/ext/libview/header.cc
@@ -111,17 +111,17 @@ void
 Header::SetAlignment(Alignment align) // IN: The new alignment
 {
    switch (align) {
-   case LEFT:
+   case Alignment::LEFT:
       mLabel.set_alignment(0, 0.5);
       mLabel.set_justify(Gtk::JUSTIFY_LEFT);
       break;
 
-   case CENTER:
+   case Alignment::CENTER:
       mLabel.set_alignment(0.5, 0.5);
       mLabel.set_justify(Gtk::JUSTIFY_CENTER);
       break;
 
-   case RIGHT:
+   case Alignment::RIGHT:
       mLabel.set_alignment(1, 0.5);
       mLabel.set_justify(Gtk::JUSTIFY_RIGHT);
       break;
diff --git a/src/ext/libview/header.hh b/src/ext/libview/header.hh
index 9c384cc..2e4ee9c 100644
--- a/src/ext/libview/header.hh
+++ b/src/ext/libview/header.hh
@@ -42,9 +42,9 @@ class Header
    : public Gtk::MenuItem
 {
 public:
-   enum Alignment { LEFT, CENTER, RIGHT };
+   enum class Alignment { LEFT, CENTER, RIGHT };
 
-   Header(const Glib::ustring &markup, Alignment align = LEFT);
+   Header(const Glib::ustring &markup, Alignment align = Alignment::LEFT);
 
    void SetMarkup(const Glib::ustring &markup);
    void SetAlignment(Alignment align);
diff --git a/src/fwk/toolkit/metadatawidget.cpp b/src/fwk/toolkit/metadatawidget.cpp
index c5ab1a3..c3f98fd 100644
--- a/src/fwk/toolkit/metadatawidget.cpp
+++ b/src/fwk/toolkit/metadatawidget.cpp
@@ -152,8 +152,8 @@ MetaDataWidget::create_widgets_for_format(const MetaDataSectionFormat * fmt)
         Gtk::Label *labelw = Gtk::manage(new Gtk::Label(
                                              Glib::ustring("<b>") 
                                              + current->label + "</b>"));
-        if(current->type != META_DT_STRING_ARRAY
-           && current->type != META_DT_TEXT) {
+        if(current->type != MetaDT::STRING_ARRAY
+           && current->type != MetaDT::TEXT) {
             labelw->set_alignment(0.0f, 0.5f);
         }
         else {
@@ -163,16 +163,16 @@ MetaDataWidget::create_widgets_for_format(const MetaDataSectionFormat * fmt)
         labelw->set_use_markup(true);
     
         switch(current->type) {
-        case META_DT_STAR_RATING:
+        case MetaDT::STAR_RATING:
             w = create_star_rating_widget(current->readonly, current->id);
             break;
-        case META_DT_STRING_ARRAY:
+        case MetaDT::STRING_ARRAY:
             w = create_string_array_widget(current->readonly, current->id);
             break;
-        case META_DT_TEXT:
+        case MetaDT::TEXT:
             w = create_text_widget(current->readonly, current->id);
             break;
-        case META_DT_DATE:
+        case MetaDT::DATE:
             w = create_date_widget(current->readonly, current->id);
             break;
         default:
@@ -406,22 +406,22 @@ void MetaDataWidget::add_data(const MetaDataFormat * current,
     w = static_cast<Gtk::Label*>(iter->second);
 
     switch(current->type) {
-    case META_DT_FRAC_DEC:
+    case MetaDT::FRAC_DEC:
         set_fraction_dec_data(w, value);
         break;
-    case META_DT_FRAC:
+    case MetaDT::FRAC:
         set_fraction_data(w, value);
         break;
-    case META_DT_STAR_RATING:
+    case MetaDT::STAR_RATING:
         set_star_rating_data(w, value);
         break;
-    case META_DT_STRING_ARRAY:
+    case MetaDT::STRING_ARRAY:
         set_string_array_data(w, value);
         break;
-    case META_DT_TEXT:
+    case MetaDT::TEXT:
         set_text_data(w, current->readonly, value);
         break;
-    case META_DT_DATE:
+    case MetaDT::DATE:
         set_date_data(w, value);
         break;
     default:
diff --git a/src/fwk/toolkit/metadatawidget.hpp b/src/fwk/toolkit/metadatawidget.hpp
index c5424b3..84e2275 100644
--- a/src/fwk/toolkit/metadatawidget.hpp
+++ b/src/fwk/toolkit/metadatawidget.hpp
@@ -36,21 +36,21 @@ struct MetaDataFormat;
 
 namespace fwk {
 
-enum MetaDataType {
-    META_DT_NONE = 0,
-    META_DT_STRING,
-    META_DT_STRING_ARRAY,
-    META_DT_TEXT,
-    META_DT_DATE,
-    META_DT_FRAC,
-    META_DT_FRAC_DEC, // Fraction as decimal
-    META_DT_STAR_RATING
+enum class MetaDT {
+    NONE = 0,
+    STRING,
+    STRING_ARRAY,
+    TEXT,
+    DATE,
+    FRAC,
+    FRAC_DEC, // Fraction as decimal
+    STAR_RATING
 };
 
 struct MetaDataFormat {
     const char * label;
     uint32_t     id;
-    MetaDataType type;
+    MetaDT       type;
     bool         readonly;
 };
 
diff --git a/src/fwk/utils/db/iconnectiondriver.hpp b/src/fwk/utils/db/iconnectiondriver.hpp
index fbfec83..052d3a5 100644
--- a/src/fwk/utils/db/iconnectiondriver.hpp
+++ b/src/fwk/utils/db/iconnectiondriver.hpp
@@ -38,15 +38,15 @@ class Buffer ;
 
 namespace db {
 
-enum ColumnType {
-    COLUMN_TYPE_INT=1,
-    COLUMN_TYPE_BIG_INT=1<<1,
-    COLUMN_TYPE_DECIMAL=1<<2,
-    COLUMN_TYPE_DOUBLE=1<<3,
-    COLUMN_TYPE_DATETIME=1<<3,
-    COLUMN_TYPE_STRING=1<<4,
-    COLUMN_TYPE_BLOB=1<<5,
-    COLUMN_TYPE_UNKNOWN=1<<30// should be last
+enum class ColumnType {
+    INT=1,
+    BIG_INT=1<<1,
+    DECIMAL=1<<2,
+    DOUBLE=1<<3,
+    DATETIME=1<<3,
+    STRING=1<<4,
+    BLOB=1<<5,
+    UNKNOWN=1<<30// should be last
 };
 
 class SQLStatement;
@@ -84,7 +84,7 @@ public:
     virtual unsigned int get_number_of_columns () const = 0;
 
     virtual bool get_column_type (uint32_t a_offset,
-                                  enum ColumnType &) const = 0;
+                                  ColumnType &) const = 0;
 
     virtual bool get_column_name (uint32_t a_offset,
                                   fwk::Buffer &a_name) const = 0;
diff --git a/src/fwk/utils/db/sqlite/sqlitecnxdrv.cpp b/src/fwk/utils/db/sqlite/sqlitecnxdrv.cpp
index 2564fac..7d704cc 100644
--- a/src/fwk/utils/db/sqlite/sqlitecnxdrv.cpp
+++ b/src/fwk/utils/db/sqlite/sqlitecnxdrv.cpp
@@ -303,7 +303,7 @@ namespace db { namespace sqlite {
                        ColumnType ctype = iter->get<0>();
                        int idx = iter->get<1>();
                        switch(ctype) {
-                       case COLUMN_TYPE_STRING:
+                       case ColumnType::STRING:
                        {
                          try {
                                std::string text(boost::any_cast<std::string>(iter->get<2>()));
@@ -316,7 +316,7 @@ namespace db { namespace sqlite {
                          }
                          break;
                        }
-                       case COLUMN_TYPE_BLOB:
+                       case ColumnType::BLOB:
                        {
                          try {
                                const fwk::Buffer* blob(boost::any_cast<const fwk::Buffer*>(iter->get<2>()));
@@ -504,7 +504,7 @@ namespace db { namespace sqlite {
 
                bool
                SqliteCnxDrv::get_column_type (uint32_t a_offset,
-                                                                          enum ColumnType &a_type) const
+                                                                         ColumnType &a_type) const
                {
                     std::lock_guard<std::recursive_mutex> lock(m_mutex);
                        THROW_IF_FAIL (m_priv) ;
@@ -513,23 +513,23 @@ namespace db { namespace sqlite {
 
                        switch (type) {
                        case SQLITE_INTEGER:
-                               a_type = COLUMN_TYPE_INT ;
+                                a_type = ColumnType::INT ;
                                break;
                        case SQLITE_FLOAT:
-                               a_type = COLUMN_TYPE_DOUBLE ;
+                                a_type = ColumnType::DOUBLE ;
                                break;
                        case SQLITE_TEXT:
-                               a_type = COLUMN_TYPE_STRING ;
+                               a_type = ColumnType::STRING ;
                                break ;
                        case SQLITE_BLOB:
-                               a_type = COLUMN_TYPE_BLOB ;
+                               a_type = ColumnType::BLOB ;
                                break;
 
                        case SQLITE_NULL:
-                               a_type = COLUMN_TYPE_BLOB ;
+                               a_type = ColumnType::BLOB ;
                                break ;
                        default:
-                               a_type = COLUMN_TYPE_UNKNOWN ;
+                               a_type = ColumnType::UNKNOWN ;
                                break;
                        }
                        return true ;
diff --git a/src/fwk/utils/db/sqlite/sqlitecnxdrv.hpp b/src/fwk/utils/db/sqlite/sqlitecnxdrv.hpp
index 864c40b..2840b94 100644
--- a/src/fwk/utils/db/sqlite/sqlitecnxdrv.hpp
+++ b/src/fwk/utils/db/sqlite/sqlitecnxdrv.hpp
@@ -75,7 +75,7 @@ public:
     unsigned int get_number_of_columns () const override;
 
     bool get_column_type (uint32_t a_offset,
-                          enum db::ColumnType &a_type) const override;
+                          db::ColumnType &a_type) const override;
 
     bool get_column_name (uint32_t a_offset, fwk::Buffer &a_name) const override;
 
diff --git a/src/fwk/utils/db/sqlstatement.cpp b/src/fwk/utils/db/sqlstatement.cpp
index 33154fa..ce99bdf 100644
--- a/src/fwk/utils/db/sqlstatement.cpp
+++ b/src/fwk/utils/db/sqlstatement.cpp
@@ -64,7 +64,7 @@ SQLStatement::escape_string (const std::string &a_sql_string)
 bool 
 SQLStatement::bind(int idx, const std::string & text)
 {
-    m_bindings.push_back(binder_t(COLUMN_TYPE_STRING, idx, 
+    m_bindings.push_back(binder_t(ColumnType::STRING, idx, 
                                   boost::any(text)));
     return true;
 }
@@ -73,7 +73,7 @@ SQLStatement::bind(int idx, const std::string & text)
 bool 
 SQLStatement::bind(int idx, const fwk::Buffer & blob)
 {
-    m_bindings.push_back(binder_t(COLUMN_TYPE_BLOB, idx, 
+    m_bindings.push_back(binder_t(ColumnType::BLOB, idx, 
                                       boost::any(&blob)));
     return true;
 }
diff --git a/src/ncr/image.cpp b/src/ncr/image.cpp
index 09d15ec..91d4997 100644
--- a/src/ncr/image.cpp
+++ b/src/ncr/image.cpp
@@ -35,7 +35,7 @@ namespace ncr {
 struct Image::Private {
     Private(Image& self)
         : m_self(self)
-        , m_status(Image::STATUS_UNSET)
+        , m_status(Image::status_t::UNSET)
         , m_width(0)
         , m_height(0)
         , m_orientation(0), m_vertical(false)
@@ -213,7 +213,7 @@ GeglNode* Image::Private::_scale_node()
 
 void Image::Private::prepare_reload()
 {
-    m_status = STATUS_LOADING;
+    m_status = status_t::LOADING;
     m_pixbuf_cache.reset();
 
     if(m_graph) {
@@ -256,7 +256,7 @@ void Image::reload(const std::string & p, bool is_raw,
 
 void Image::Private::reload_node(GeglNode* node, int orientation)
 {
-    DBG_ASSERT(m_status == STATUS_LOADING, "prepare_reload() might not have been called");
+    DBG_ASSERT(m_status == status_t::LOADING, "prepare_reload() might not have been called");
 
     m_rotate_n = _rotate_node(orientation);
     m_scale = _scale_node();
@@ -294,7 +294,7 @@ void Image::Private::reload_node(GeglNode* node, int orientation)
     height = rect.height;
     DBG_OUT("width %d height %d", width, height);
     if(!width || !height) {
-        m_status = STATUS_ERROR;
+        m_status = status_t::ERROR;
     }
     if(m_vertical) {
         m_width = height;
@@ -371,7 +371,7 @@ void Image::rotate_by(int degree)
 
 Cairo::RefPtr<Cairo::ImageSurface> Image::cairo_surface_for_display()
 {
-    if(priv->m_status == STATUS_ERROR) {
+    if(priv->m_status == status_t::ERROR) {
         // return the error
         DBG_OUT("error");
         return Cairo::RefPtr<Cairo::ImageSurface>();
@@ -380,7 +380,7 @@ Cairo::RefPtr<Cairo::ImageSurface> Image::cairo_surface_for_display()
         DBG_OUT("nothing loaded");
         return Cairo::RefPtr<Cairo::ImageSurface>();
     }
-    DBG_ASSERT(priv->m_status == STATUS_LOADING, "wrong status for image");
+    DBG_ASSERT(priv->m_status == status_t::LOADING, "wrong status for image");
     DBG_OUT("processing");
     gegl_node_process(priv->m_scale);
     GeglRectangle roi = gegl_node_get_bounding_box(priv->m_scale);
@@ -401,7 +401,7 @@ Cairo::RefPtr<Cairo::ImageSurface> Image::cairo_surface_for_display()
     // If you don't do that, it will never paint().
     // Thanks to mitch for the tip in #gegl
     surface->mark_dirty();
-    priv->m_status = STATUS_LOADED;
+    priv->m_status = status_t::LOADED;
     return surface;
 }
 
diff --git a/src/ncr/image.hpp b/src/ncr/image.hpp
index 92ee8d3..eb76b62 100644
--- a/src/ncr/image.hpp
+++ b/src/ncr/image.hpp
@@ -34,13 +34,13 @@ class Image
 {
 public:
     typedef std::shared_ptr<Image> Ptr;
-    typedef enum {
-        STATUS_UNSET,
-        STATUS_LOADING,
-        STATUS_LOADED,
-        STATUS_ERROR,
-        _STATUS_LAST
-    } status_t;
+    enum class status_t {
+        UNSET,
+        LOADING,
+        LOADED,
+        ERROR,
+        _LAST
+    };
 
     Image();
     virtual ~Image();
diff --git a/src/niepce/modules/darkroom/darkroommodule.cpp b/src/niepce/modules/darkroom/darkroommodule.cpp
index 7050752..5abbda0 100644
--- a/src/niepce/modules/darkroom/darkroommodule.cpp
+++ b/src/niepce/modules/darkroom/darkroommodule.cpp
@@ -50,8 +50,8 @@ void DarkroomModule::reload_image()
     if(file) {
         // currently we treat RAW + JPEG as RAW.
         // TODO: have a way to actually choose the JPEG.
-        bool isRaw = (file->fileType() == eng::LibFile::FILE_TYPE_RAW)
-            || (file->fileType() == eng::LibFile::FILE_TYPE_RAW_JPEG);
+        bool isRaw = (file->fileType() == eng::LibFile::FileType::RAW)
+            || (file->fileType() == eng::LibFile::FileType::RAW_JPEG);
         const std::string& path = file->path();
         m_image->reload(path, isRaw,
                         file->orientation());
diff --git a/src/niepce/modules/darkroom/imagecanvas.cpp b/src/niepce/modules/darkroom/imagecanvas.cpp
index 0da1d3e..51052fb 100644
--- a/src/niepce/modules/darkroom/imagecanvas.cpp
+++ b/src/niepce/modules/darkroom/imagecanvas.cpp
@@ -132,7 +132,7 @@ bool ImageCanvas::on_draw(const Cairo::RefPtr<Cairo::Context>& context)
         int img_w, img_h;
         double scale = 1.0;
 
-        if(m_image->get_status() != ncr::Image::STATUS_ERROR) {
+        if(m_image->get_status() != ncr::Image::status_t::ERROR) {
 
             // calculate the image scale
             img_w = m_image->get_original_width();
@@ -205,7 +205,7 @@ bool ImageCanvas::on_draw(const Cairo::RefPtr<Cairo::Context>& context)
 
 void ImageCanvas::_redisplay()
 {
-    if (m_image->get_status() == ncr::Image::STATUS_ERROR) {
+    if (m_image->get_status() == ncr::Image::status_t::ERROR) {
         ERR_OUT("Image is in error");
         return;
     }
diff --git a/src/niepce/modules/map/mapmodule.cpp b/src/niepce/modules/map/mapmodule.cpp
index 9df46a7..338a846 100644
--- a/src/niepce/modules/map/mapmodule.cpp
+++ b/src/niepce/modules/map/mapmodule.cpp
@@ -70,7 +70,7 @@ MapModule::on_lib_notification(const eng::LibNotification &ln)
         return;
     }
     switch(ln.type) {
-    case eng::Library::NOTIFY_METADATA_QUERIED:
+    case eng::Library::NotifyType::METADATA_QUERIED:
     {
         DBG_ASSERT(ln.param.type() == typeid(eng::LibMetadata::Ptr),
                    "incorrect data type for the notification");
diff --git a/src/niepce/ui/filmstripcontroller.cpp b/src/niepce/ui/filmstripcontroller.cpp
index 2608ff0..a91cd7f 100644
--- a/src/niepce/ui/filmstripcontroller.cpp
+++ b/src/niepce/ui/filmstripcontroller.cpp
@@ -44,7 +44,7 @@ Gtk::Widget * FilmStripController::buildWidget()
     DBG_ASSERT(m_store, "m_store NULL");
     m_thumbview = manage(new ThumbStripView(m_store));
     GtkWidget *thn = eog_thumb_nav_new(m_thumbview,
-                                       EOG_THUMB_NAV_MODE_ONE_ROW, true);
+                                       EogThumbNavMode::ONE_ROW, true);
     m_thumbview->set_selection_mode(Gtk::SELECTION_SINGLE);
     m_widget = Glib::wrap(thn);
     m_widget->set_size_request(-1, 134);
diff --git a/src/niepce/ui/gridviewmodule.cpp b/src/niepce/ui/gridviewmodule.cpp
index 373b74e..5f50d56 100644
--- a/src/niepce/ui/gridviewmodule.cpp
+++ b/src/niepce/ui/gridviewmodule.cpp
@@ -58,7 +58,7 @@ void
 GridViewModule::on_lib_notification(const eng::LibNotification &ln)
 {
     switch(ln.type) {
-    case eng::Library::NOTIFY_METADATA_QUERIED:
+    case eng::Library::NotifyType::METADATA_QUERIED:
     {
         DBG_ASSERT(ln.param.type() == typeid(eng::LibMetadata::Ptr),
                    "incorrect data type for the notification");
@@ -68,7 +68,7 @@ GridViewModule::on_lib_notification(const eng::LibNotification &ln)
         m_metapanecontroller->display(lm->id(), lm);
         break;
     }
-    case eng::Library::NOTIFY_METADATA_CHANGED:
+    case eng::Library::NotifyType::METADATA_CHANGED:
     {
         DBG_OUT("metadata changed");
         DBG_ASSERT(ln.param.type() == typeid(eng::metadata_desc_t),
@@ -80,7 +80,7 @@ GridViewModule::on_lib_notification(const eng::LibNotification &ln)
         }
         break;
     }
-    case eng::Library::NOTIFY_FILE_MOVED:
+    case eng::Library::NotifyType::FILE_MOVED:
     {
         DBG_ASSERT(ln.param.type() == typeid(std::pair<eng::library_id_t,eng::library_id_t>),
                    "incorrect data type for the notification");
diff --git a/src/niepce/ui/imageliststore.cpp b/src/niepce/ui/imageliststore.cpp
index 0913d03..c72d7da 100644
--- a/src/niepce/ui/imageliststore.cpp
+++ b/src/niepce/ui/imageliststore.cpp
@@ -89,8 +89,8 @@ Gtk::TreePath ImageListStore::get_path_from_id(eng::library_id_t id)
 void ImageListStore::on_lib_notification(const eng::LibNotification &ln)
 {
     switch(ln.type) {
-    case eng::Library::NOTIFY_FOLDER_CONTENT_QUERIED:
-    case eng::Library::NOTIFY_KEYWORD_CONTENT_QUERIED:
+    case eng::Library::NotifyType::FOLDER_CONTENT_QUERIED:
+    case eng::Library::NotifyType::KEYWORD_CONTENT_QUERIED:
     {
         eng::LibFile::ListPtr l 
             = boost::any_cast<eng::LibFile::ListPtr>(ln.param);
@@ -114,7 +114,7 @@ void ImageListStore::on_lib_notification(const eng::LibNotification &ln)
         getLibraryClient()->thumbnailCache().request(l);
         break;
     }
-    case eng::Library::NOTIFY_METADATA_CHANGED:
+    case eng::Library::NotifyType::METADATA_CHANGED:
     {
         eng::metadata_desc_t m = boost::any_cast<eng::metadata_desc_t>(ln.param);
         fwk::PropertyIndex prop = m.meta;
@@ -132,7 +132,7 @@ void ImageListStore::on_lib_notification(const eng::LibNotification &ln)
         }
         break;
     }
-    case eng::Library::NOTIFY_XMP_NEEDS_UPDATE:
+    case eng::Library::NotifyType::XMP_NEEDS_UPDATE:
     {
         fwk::Configuration & cfg = fwk::Application::app()->config();
         int write_xmp = false;
diff --git a/src/niepce/ui/librarycellrenderer.cpp b/src/niepce/ui/librarycellrenderer.cpp
index 6777c79..f5baf21 100644
--- a/src/niepce/ui/librarycellrenderer.cpp
+++ b/src/niepce/ui/librarycellrenderer.cpp
@@ -257,16 +257,16 @@ LibraryCellRenderer::render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr,
         Cairo::RefPtr<Cairo::ImageSurface> emblem;
         
         switch(file->fileType()) {
-        case eng::LibFile::FILE_TYPE_RAW:
+        case eng::LibFile::FileType::RAW:
             emblem = m_raw_format_emblem;
             break;
-        case eng::LibFile::FILE_TYPE_RAW_JPEG:
+        case eng::LibFile::FileType::RAW_JPEG:
             emblem = m_rawjpeg_format_emblem;
             break;
-        case eng::LibFile::FILE_TYPE_IMAGE:
+        case eng::LibFile::FileType::IMAGE:
             emblem = m_img_format_emblem;
             break;
-        case eng::LibFile::FILE_TYPE_VIDEO:
+        case eng::LibFile::FileType::VIDEO:
             emblem = m_video_format_emblem;
             break;
         default:
diff --git a/src/niepce/ui/metadatapanecontroller.cpp b/src/niepce/ui/metadatapanecontroller.cpp
index b95b108..c7e0613 100644
--- a/src/niepce/ui/metadatapanecontroller.cpp
+++ b/src/niepce/ui/metadatapanecontroller.cpp
@@ -34,32 +34,32 @@ const fwk::MetaDataSectionFormat *
 MetaDataPaneController::get_format()
 {
     static const fwk::MetaDataFormat s_camerainfo_format[] = {
-        { _("Make:"), eng::NpTiffMakeProp, fwk::META_DT_STRING, true },
-        { _("Model:"), eng::NpTiffModelProp, fwk::META_DT_STRING, true },
-        { _("Lens:"), eng::NpExifAuxLensProp, fwk::META_DT_STRING, true },
-        { nullptr, 0, fwk::META_DT_NONE, true }
+        { _("Make:"), eng::NpTiffMakeProp, fwk::MetaDT::STRING, true },
+        { _("Model:"), eng::NpTiffModelProp, fwk::MetaDT::STRING, true },
+        { _("Lens:"), eng::NpExifAuxLensProp, fwk::MetaDT::STRING, true },
+        { nullptr, 0, fwk::MetaDT::NONE, true }
     };
     static const fwk::MetaDataFormat s_shootinginfo_format[] = {
-        { _("Exposure Program:"), eng::NpExifExposureProgramProp, fwk::META_DT_STRING, true },
-        { _("Speed:"), eng::NpExifExposureTimeProp, fwk::META_DT_FRAC, true },
-        { _("Aperture:"), eng::NpExifFNumberPropProp, fwk::META_DT_FRAC_DEC, true },
-        { _("ISO:"), eng::NpExifIsoSpeedRatingsProp, fwk::META_DT_STRING, true },
-        { _("Exposure Bias:"), eng::NpExifExposureBiasProp, fwk::META_DT_FRAC_DEC, true },
-        { _("Flash:"), eng::NpExifFlashFiredProp, fwk::META_DT_STRING, true },
-        { _("Flash compensation:"), eng::NpExifAuxFlashCompensationProp, fwk::META_DT_STRING, true },
-        { _("Focal length:"), eng::NpExifFocalLengthProp, fwk::META_DT_FRAC_DEC, true },
-        { _("White balance:"), eng::NpExifWbProp, fwk::META_DT_STRING, true },
-        { _("Date:"), eng::NpExifDateTimeOriginalProp, fwk::META_DT_DATE, false },
-        { nullptr, 0, fwk::META_DT_NONE, true }
+        { _("Exposure Program:"), eng::NpExifExposureProgramProp, fwk::MetaDT::STRING, true },
+        { _("Speed:"), eng::NpExifExposureTimeProp, fwk::MetaDT::FRAC, true },
+        { _("Aperture:"), eng::NpExifFNumberPropProp, fwk::MetaDT::FRAC_DEC, true },
+        { _("ISO:"), eng::NpExifIsoSpeedRatingsProp, fwk::MetaDT::STRING, true },
+        { _("Exposure Bias:"), eng::NpExifExposureBiasProp, fwk::MetaDT::FRAC_DEC, true },
+        { _("Flash:"), eng::NpExifFlashFiredProp, fwk::MetaDT::STRING, true },
+        { _("Flash compensation:"), eng::NpExifAuxFlashCompensationProp, fwk::MetaDT::STRING, true },
+        { _("Focal length:"), eng::NpExifFocalLengthProp, fwk::MetaDT::FRAC_DEC, true },
+        { _("White balance:"), eng::NpExifWbProp, fwk::MetaDT::STRING, true },
+        { _("Date:"), eng::NpExifDateTimeOriginalProp, fwk::MetaDT::DATE, false },
+        { nullptr, 0, fwk::MetaDT::NONE, true }
     };
     static const fwk::MetaDataFormat s_iptc_format[] = {
-        { _("Headline:"), eng::NpIptcHeadlineProp, fwk::META_DT_STRING, false },
-        { _("Caption:"), eng::NpIptcDescriptionProp, fwk::META_DT_TEXT, false },
-        { _("Rating:"), eng::NpXmpRatingProp, fwk::META_DT_STAR_RATING, false },
+        { _("Headline:"), eng::NpIptcHeadlineProp, fwk::MetaDT::STRING, false },
+        { _("Caption:"), eng::NpIptcDescriptionProp, fwk::MetaDT::TEXT, false },
+        { _("Rating:"), eng::NpXmpRatingProp, fwk::MetaDT::STAR_RATING, false },
         // FIXME change this type to the right one when there is a widget
-        { _("Label:"), eng::NpXmpLabelProp, fwk::META_DT_STRING, true },
-        { _("Keywords:"), eng::NpIptcKeywordsProp, fwk::META_DT_STRING_ARRAY, false },
-        { nullptr, 0, fwk::META_DT_NONE, true }
+        { _("Label:"), eng::NpXmpLabelProp, fwk::MetaDT::STRING, true },
+        { _("Keywords:"), eng::NpIptcKeywordsProp, fwk::MetaDT::STRING_ARRAY, false },
+        { nullptr, 0, fwk::MetaDT::NONE, true }
     };
     static const fwk::MetaDataSectionFormat s_format[] = {
         { _("Camera Information"),
diff --git a/src/niepce/ui/niepcewindow.cpp b/src/niepce/ui/niepcewindow.cpp
index ec467aa..2d1db24 100644
--- a/src/niepce/ui/niepcewindow.cpp
+++ b/src/niepce/ui/niepcewindow.cpp
@@ -316,24 +316,24 @@ void NiepceWindow::create_initial_labels()
 void NiepceWindow::on_lib_notification(const eng::LibNotification & ln)
 {
     switch(ln.type) {
-    case eng::Library::NOTIFY_NEW_LIBRARY_CREATED:
+    case eng::Library::NotifyType::NEW_LIBRARY_CREATED:
         create_initial_labels();
         break;
-    case eng::Library::NOTIFY_ADDED_LABELS:
+    case eng::Library::NotifyType::ADDED_LABELS:
     {
         eng::Label::ListPtr l 
             = boost::any_cast<eng::Label::ListPtr>(ln.param);
         m_libClient->getDataProvider()->addLabels(l);
         break;
     }
-    case eng::Library::NOTIFY_LABEL_CHANGED:
+    case eng::Library::NotifyType::LABEL_CHANGED:
     {
         const eng::Label::Ptr & l 
             = boost::any_cast<const eng::Label::Ptr &>(ln.param);
         m_libClient->getDataProvider()->updateLabel(l);
         break;
     }
-    case eng::Library::NOTIFY_LABEL_DELETED:
+    case eng::Library::NotifyType::LABEL_DELETED:
     {
         int id = boost::any_cast<int>(ln.param);
         m_libClient->getDataProvider()->deleteLabel(id);
diff --git a/src/niepce/ui/thumb-view/eog-thumb-nav.cpp b/src/niepce/ui/thumb-view/eog-thumb-nav.cpp
index eb33f93..766b63c 100644
--- a/src/niepce/ui/thumb-view/eog-thumb-nav.cpp
+++ b/src/niepce/ui/thumb-view/eog-thumb-nav.cpp
@@ -201,7 +201,7 @@ eog_thumb_nav_get_property (GObject    *object,
 
        case PROP_MODE:
                g_value_set_int (value, 
-                       eog_thumb_nav_get_mode (nav));
+                                 static_cast<gint>(eog_thumb_nav_get_mode (nav)));
                break;
        }
 }
@@ -280,15 +280,16 @@ eog_thumb_nav_class_init (EogThumbNavClass *klass)
                                                                G_PARAM_READABLE | 
                                                                G_PARAM_WRITABLE)));
 
-       g_object_class_install_property (g_object_class,
-                                        PROP_MODE,
-                                        g_param_spec_int ("mode",
-                                                          "Mode",
-                                                          "Thumb navigator mode",
-                                                          EOG_THUMB_NAV_MODE_ONE_ROW,
-                                                          EOG_THUMB_NAV_MODE_MULTIPLE_ROWS,
-                                                          EOG_THUMB_NAV_MODE_ONE_ROW,
-                                                          (GParamFlags)(G_PARAM_READABLE | 
G_PARAM_WRITABLE)));
+       g_object_class_install_property (
+          g_object_class,
+          PROP_MODE,
+          g_param_spec_int ("mode",
+                            "Mode",
+                            "Thumb navigator mode",
+                            static_cast<gint>(EogThumbNavMode::ONE_ROW),
+                            static_cast<gint>(EogThumbNavMode::MULTIPLE_ROWS),
+                            static_cast<gint>(EogThumbNavMode::ONE_ROW),
+                            (GParamFlags)(G_PARAM_READABLE | G_PARAM_WRITABLE)));
 
        g_type_class_add_private (g_object_class, sizeof (EogThumbNavPrivate));
 }
@@ -304,7 +305,7 @@ eog_thumb_nav_init (EogThumbNav *nav)
 
        priv = nav->priv;
 
-       priv->mode = EOG_THUMB_NAV_MODE_ONE_ROW;
+       priv->mode = EogThumbNavMode::ONE_ROW;
 
        priv->show_buttons = TRUE;
 
@@ -402,7 +403,7 @@ eog_thumb_nav_set_show_buttons (EogThumbNav *nav, gboolean show_buttons)
        nav->priv->show_buttons = show_buttons;
 
        if (show_buttons && 
-           nav->priv->mode == EOG_THUMB_NAV_MODE_ONE_ROW) {
+           nav->priv->mode == EogThumbNavMode::ONE_ROW) {
                gtk_widget_show_all (nav->priv->button_left);
                gtk_widget_show_all (nav->priv->button_right);
        } else {
@@ -432,7 +433,7 @@ eog_thumb_nav_set_mode (EogThumbNav *nav, EogThumbNavMode mode)
 
        switch (mode)
        {
-       case EOG_THUMB_NAV_MODE_ONE_ROW:
+       case EogThumbNavMode::ONE_ROW:
                priv->thumbview->set_size_request (-1, -1);
                priv->thumbview->set_item_height (100);
 
@@ -444,7 +445,7 @@ eog_thumb_nav_set_mode (EogThumbNav *nav, EogThumbNavMode mode)
 
                break;
 
-       case EOG_THUMB_NAV_MODE_ONE_COLUMN:
+       case EogThumbNavMode::ONE_COLUMN:
                priv->thumbview->set_columns (1);
 
                priv->thumbview->set_size_request (-1, -1);
@@ -459,7 +460,7 @@ eog_thumb_nav_set_mode (EogThumbNav *nav, EogThumbNavMode mode)
 
                break;
 
-       case EOG_THUMB_NAV_MODE_MULTIPLE_ROWS:
+       case EogThumbNavMode::MULTIPLE_ROWS:
                priv->thumbview->set_columns (-1);
 
                priv->thumbview->set_size_request (-1, -1);
@@ -474,7 +475,7 @@ eog_thumb_nav_set_mode (EogThumbNav *nav, EogThumbNavMode mode)
 
                break;
 
-       case EOG_THUMB_NAV_MODE_MULTIPLE_COLUMNS:
+       case EogThumbNavMode::MULTIPLE_COLUMNS:
                priv->thumbview->set_columns (-1);
 
                priv->thumbview->set_size_request (-1, -1);
diff --git a/src/niepce/ui/thumb-view/eog-thumb-nav.hpp b/src/niepce/ui/thumb-view/eog-thumb-nav.hpp
index f18ca00..10db6e7 100644
--- a/src/niepce/ui/thumb-view/eog-thumb-nav.hpp
+++ b/src/niepce/ui/thumb-view/eog-thumb-nav.hpp
@@ -41,12 +41,12 @@ typedef struct _EogThumbNavPrivate EogThumbNavPrivate;
 #define EOG_IS_THUMB_NAV_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),  EOG_TYPE_THUMB_NAV))
 #define EOG_THUMB_NAV_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),  EOG_TYPE_THUMB_NAV, 
EogThumbNavClass))
 
-typedef enum {
-       EOG_THUMB_NAV_MODE_ONE_ROW,
-       EOG_THUMB_NAV_MODE_ONE_COLUMN,
-       EOG_THUMB_NAV_MODE_MULTIPLE_ROWS,
-       EOG_THUMB_NAV_MODE_MULTIPLE_COLUMNS
-} EogThumbNavMode;
+enum class EogThumbNavMode {
+       ONE_ROW,
+       ONE_COLUMN,
+       MULTIPLE_ROWS,
+       MULTIPLE_COLUMNS
+};
 
 struct _EogThumbNav {
        GtkBox base_instance;
diff --git a/src/niepce/ui/thumbstripview.cpp b/src/niepce/ui/thumbstripview.cpp
index b24c5f4..7bfbc25 100644
--- a/src/niepce/ui/thumbstripview.cpp
+++ b/src/niepce/ui/thumbstripview.cpp
@@ -43,15 +43,15 @@ namespace ui {
 #define THUMB_STRIP_VIEW_SPACING 0
 
 /* Drag 'n Drop */
-enum {
-       TARGET_PLAIN,
-       TARGET_PLAIN_UTF8,
-       TARGET_URILIST
+enum class Target {
+       PLAIN,
+       PLAIN_UTF8,
+       URILIST
 };
 
 #if 0
 static GtkTargetEntry target_table[] = {
-       { const_cast<gchar*>("text/uri-list"), 0, TARGET_URILIST },
+    { const_cast<gchar*>("text/uri-list"), 0, Target::URILIST },
 };
 #endif
 
diff --git a/src/niepce/ui/workspacecontroller.cpp b/src/niepce/ui/workspacecontroller.cpp
index c7ae1c4..54ce65b 100644
--- a/src/niepce/ui/workspacecontroller.cpp
+++ b/src/niepce/ui/workspacecontroller.cpp
@@ -88,7 +88,7 @@ void WorkspaceController::on_lib_notification(const eng::LibNotification &ln)
 
     DBG_OUT("notification for workspace");
     switch(ln.type) {
-    case eng::Library::NOTIFY_ADDED_FOLDERS:
+    case eng::Library::NotifyType::ADDED_FOLDERS:
     {
         eng::LibFolder::ListPtr l
             = boost::any_cast<eng::LibFolder::ListPtr>(ln.param);
@@ -98,7 +98,7 @@ void WorkspaceController::on_lib_notification(const eng::LibNotification &ln)
                              this, _1));
         break;
     }
-    case eng::Library::NOTIFY_ADDED_KEYWORD:
+    case eng::Library::NotifyType::ADDED_KEYWORD:
     {
         eng::Keyword::Ptr k
             = boost::any_cast<eng::Keyword::Ptr>(ln.param);
@@ -106,7 +106,7 @@ void WorkspaceController::on_lib_notification(const eng::LibNotification &ln)
         add_keyword_item(k);
         break;
     }
-    case eng::Library::NOTIFY_ADDED_KEYWORDS:
+    case eng::Library::NotifyType::ADDED_KEYWORDS:
     {
         eng::Keyword::ListPtr l
             = boost::any_cast<eng::Keyword::ListPtr>(ln.param);
@@ -116,7 +116,7 @@ void WorkspaceController::on_lib_notification(const eng::LibNotification &ln)
                              this, _1));
         break;
     }
-    case eng::Library::NOTIFY_FOLDER_COUNTED:
+    case eng::Library::NotifyType::FOLDER_COUNTED:
     {
         std::pair<eng::library_id_t,int> count(boost::any_cast<std::pair<eng::library_id_t,int> >(ln.param));
         DBG_OUT("count for folder %Ld is %d", (long long)count.first, count.second);
@@ -130,7 +130,7 @@ void WorkspaceController::on_lib_notification(const eng::LibNotification &ln)
 
         break;
     }
-    case eng::Library::NOTIFY_FOLDER_COUNT_CHANGE:
+    case eng::Library::NotifyType::FOLDER_COUNT_CHANGE:
     {
         std::pair<eng::library_id_t,int> count(boost::any_cast<std::pair<eng::library_id_t,int> >(ln.param));
         DBG_OUT("count change for folder %Ld is %d", (long long)count.first, count.second);
@@ -145,7 +145,7 @@ void WorkspaceController::on_lib_notification(const eng::LibNotification &ln)
 
         break;
     }
-    case eng::Library::NOTIFY_FILE_MOVED:
+    case eng::Library::NotifyType::FILE_MOVED:
     {
         DBG_ASSERT(ln.param.type() == typeid(std::pair<eng::library_id_t,eng::library_id_t>),
                    "incorrect data type for the notification");
@@ -240,7 +240,7 @@ void WorkspaceController::add_keyword_item(const eng::Keyword::Ptr & k)
 void WorkspaceController::add_folder_item(const eng::LibFolder::Ptr & f)
 {
     int icon_idx = ICON_ROLL;
-    if(f->virtual_type() == eng::LibFolder::VIRTUAL_TRASH) {
+    if(f->virtual_type() == eng::LibFolder::VirtualType::TRASH) {
         icon_idx = ICON_TRASH;
         getLibraryClient()->set_trash_id(f->id());
     }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]