diff --git a/contrib/brushexport/callbacks.cpp b/contrib/brushexport/callbacks.cpp index fe89e9e4..310c5981 100644 --- a/contrib/brushexport/callbacks.cpp +++ b/contrib/brushexport/callbacks.cpp @@ -12,7 +12,6 @@ // stuff from interface.cpp void DestroyWindow(); -//! TODO ignore: make case insensitive //! TODO hide window on close namespace callbacks { @@ -45,7 +44,10 @@ void OnExportClicked( GtkButton* button, gpointer choose_path ){ } // get ignore list from ui - std::set ignore; + StringSetWithLambda ignore + ( []( const std::string& lhs, const std::string& rhs )->bool{ + return string_less_nocase( lhs.c_str(), rhs.c_str() ); + } ); GtkTreeView* view = GTK_TREE_VIEW( lookup_widget( GTK_WIDGET( button ), "t_materialist" ) ); GtkListStore* list = GTK_LIST_STORE( gtk_tree_view_get_model( view ) ); diff --git a/contrib/brushexport/export.cpp b/contrib/brushexport/export.cpp index bde757cd..a9d2bfcd 100644 --- a/contrib/brushexport/export.cpp +++ b/contrib/brushexport/export.cpp @@ -22,7 +22,7 @@ class ExportData { public: -ExportData( const std::set& ignorelist, collapsemode mode ); +ExportData( const StringSetWithLambda& ignorelist, collapsemode mode ); virtual ~ExportData( void ); virtual void BeginBrush( Brush& b ); @@ -50,10 +50,10 @@ void GetShaderNameFromShaderPath( const char* path, std::string& name ); group* current; const collapsemode mode; -const std::set& ignorelist; +const StringSetWithLambda& ignorelist; }; -ExportData::ExportData( const std::set& _ignorelist, collapsemode _mode ) +ExportData::ExportData( const StringSetWithLambda& _ignorelist, collapsemode _mode ) : mode( _mode ), ignorelist( _ignorelist ){ current = 0; @@ -160,7 +160,7 @@ const bool objs; const bool weld; public: -ExportDataAsWavefront( const std::set& _ignorelist, collapsemode _mode, bool _expmat, bool _limNames, bool _objs, bool _weld ) +ExportDataAsWavefront( const StringSetWithLambda& _ignorelist, collapsemode _mode, bool _expmat, bool _limNames, bool _objs, bool _weld ) : ExportData( _ignorelist, _mode ), expmat( _expmat ), limNames( _limNames ), @@ -372,7 +372,7 @@ private: ExportData& exporter; }; -bool ExportSelection( const std::set& ignorelist, collapsemode m, bool exmat, const std::string& path, bool limNames, bool objs, bool weld ){ +bool ExportSelection( const StringSetWithLambda& ignorelist, collapsemode m, bool exmat, const std::string& path, bool limNames, bool objs, bool weld ){ ExportDataAsWavefront exporter( ignorelist, m, exmat, limNames, objs, weld ); if( GlobalSelectionSystem().countSelected() == 0 ){ diff --git a/contrib/brushexport/export.h b/contrib/brushexport/export.h index ee5d9e21..d2fd5310 100644 --- a/contrib/brushexport/export.h +++ b/contrib/brushexport/export.h @@ -10,6 +10,8 @@ enum collapsemode COLLAPSE_NONE }; -bool ExportSelection( const std::set& ignorelist, collapsemode m, bool exmat, const std::string& path, bool limitMatNames, bool objects, bool weld ); +typedef std::set StringSetWithLambda; + +bool ExportSelection( const StringSetWithLambda& ignorelist, collapsemode m, bool exmat, const std::string& path, bool limitMatNames, bool objects, bool weld ); #endif