kicad/common
Wayne Stambaugh 652b969193 GTK+ file dialog wildcard improvements.
The GTK+ file dialog is case sensitive however it does support regular
expressions.  Most of the file dialog wildcards are lower case so only
files with the lower case extensions will show up in the file dialog.
This code adds a method to convert file extensions of any case to the
appropriate (sch -> [sS][cC][hH]) regular expression on GTK+ builds so
all file extension case combinations will show up in the file dialog.

A note to developers: make sure to add a file extension when setting
when setting the default file argument.  If you do don't set an
extension, the GTK+ file dialog will happily append the regular
expression as the file extension which is surely not what you want.

There are still a few known places (mostly gerbview) where there are
some complex wildcard code that has not been converted.

Fixes lp:1720542

https://bugs.launchpad.net/kicad/+bug/1720542
2017-11-11 19:32:26 -05:00
..
dialog_about Fix useless trailing and leading spaces in a few messages. Fix also capitalization in a few menus. 2017-10-02 09:25:48 +02:00
dialogs GTK+ file dialog wildcard improvements. 2017-11-11 19:32:26 -05:00
gal Avoid division by 0 in GAL::GetGridPoint( const VECTOR2D& aPoint ) 2017-11-07 09:45:03 +01:00
geometry refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
kicad_curl Remove useless includes and more fixes to avoid including curl.h in files, when not mandatory. 2017-09-05 08:07:31 +02:00
math Remove superflous includes. 2015-07-31 09:50:47 -04:00
page_layout Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
preview_items Make RULER_ITEM generic and ensure text mirroring is disabled 2017-09-12 12:49:43 +02:00
swig Fix compil issue in Python support. 2017-05-01 14:19:38 +02:00
system Switched coroutine library from Boost libcotext to custom libcontext. 2017-03-07 11:45:29 -05:00
tool Fixed cursor freeze after canceling a tool with cursor over a drag point 2017-11-08 11:41:45 +01:00
view Remove some extra semicolons 2017-11-09 19:52:18 +01:00
widgets Fix a few minor coverity warnings (not initialized members) 2017-11-11 07:25:00 +01:00
CMakeLists.txt cleanup: replace CLASS_MIRE with CLASS_PCB_TARGET for naming clarity 2017-11-03 20:02:06 +01:00
base_screen.cpp general UI fix. Fixed a lot of icons and a lot of menu. 2017-06-02 11:51:11 +02:00
base_struct.cpp Minor trace logging improvements. 2017-09-21 08:58:41 -04:00
base_units.cpp Move some unit related util function to base_units.h 2017-03-23 12:47:05 -04:00
basic_gal.cpp Give all GAL canvases access to a GAL_DISPLAY_OPTIONS structure instance 2017-02-20 10:52:34 +01:00
basicframe.cpp Fixed EDA_BASE_FRAME::removePaneBorder() for classes not using AUI 2017-09-29 17:08:32 +02:00
bezier_curves.cpp Fix eeschema crash when saving LIB_BEZIER objects 2017-08-22 13:29:53 +02:00
bin_mod.cpp Remove old, empty header 2016-01-12 10:35:27 -05:00
bitmap.cpp Remove some extra semicolons 2017-11-09 19:52:18 +01:00
block_commande.cpp eeschema: Fixed use-after-free on exit when paste operation is aborted 2017-07-13 13:33:13 +02:00
build_version.cpp Version string improvements. 2016-11-25 09:09:10 -05:00
class_bitmap_base.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
class_colors_design_settings.cpp Fix incorrect initialization of default colors for some items. 2017-10-09 10:35:53 +02:00
class_layer_box_selector.cpp Multiple improvements concerning colors, configuration handling and legacy features in pcbnew: 2017-08-04 16:06:57 +02:00
class_marker_base.cpp Plot solder mask layer: fix incorrect margin of zones drawn on this layer (zone areas were slighly larger than the actual areas) 2015-08-01 12:20:23 +02:00
class_page_info.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
class_plotter.cpp remove useless or incorrect wxASSERTs 2017-04-21 14:32:06 +02:00
class_undoredo_container.cpp Remove some else-after-return's 2017-11-09 19:52:18 +01:00
colors.cpp Try to fix a compil issue on OSX (no viable conversion from 'const wxString' to 'const wxChar *', in colors.cpp) 2016-05-17 09:10:15 +02:00
commit.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
common.cpp Remove unused g_ShowPageLimits global variable 2017-03-23 12:47:05 -04:00
common_plotDXF_functions.cpp Pcbnew: add option to plot DXF editable text 2017-05-02 15:07:19 -04:00
common_plotGERBER_functions.cpp Pcbnew: fix minor issue in %TO.C advanced attribute, and avoid creating an unused D10 tool in Gerber files. 2017-07-02 16:41:31 +02:00
common_plotHPGL_functions.cpp Fix a few doxygen warnings 2017-06-16 09:18:31 +02:00
common_plotPDF_functions.cpp Make texts search-able in PDF files (using invisible texts behind stroked texts) 2017-08-15 15:53:00 +02:00
common_plotPS_functions.cpp Make texts search-able in PDF files (using invisible texts behind stroked texts) 2017-08-15 15:53:00 +02:00
common_plotSVG_functions.cpp remove useless or incorrect wxASSERTs 2017-04-21 14:32:06 +02:00
common_plot_functions.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
config_params.cpp GTK+ file dialog wildcard improvements. 2017-11-11 19:32:26 -05:00
confirm.cpp Improved various error messages 2017-07-25 07:37:14 -04:00
convert_basic_shapes_to_polygon.cpp Fix a few doxygen warnings 2017-06-15 13:13:24 +02:00
copy_to_clipboard.cpp Enable plot in clipboard on Linux and OSX in eeschema, and copy in clipboard in 3d viewer ( was existing on Windows, but disabled on other OS ). 2015-05-31 13:51:50 +02:00
dialog_shim.cpp Added component table dialog 2017-05-02 09:39:01 -04:00
displlst.cpp Replace dangerous cast of pointer->long 2016-01-16 22:56:58 -05:00
dlist.cpp Hide m_galCanvas and m_galCanvasActive behind accessors. Fix DLIST concatonation API corner case. 2013-12-26 16:36:43 -06:00
draw_frame.cpp hotkey management: enhancements in code to know if a hotkey was handled by an event or not. 2017-10-06 09:23:13 +02:00
draw_panel.cpp Minor trace logging improvements. 2017-09-21 08:58:41 -04:00
draw_panel_gal.cpp refactoring: derive PCB-specific PCB_VIEW from VIEW with the intention of moving PCB_EDIT_FRAME entries used by the tools (e.g. GetActiveLayer) there 2017-11-03 20:02:06 +01:00
drawtxt.cpp Fix a few doxygen warnings 2017-06-15 13:13:24 +02:00
dsnlexer.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
eagle_parser.cpp Remove some extra semicolons 2017-11-09 19:52:18 +01:00
eda_dde.cpp Fix a few shadowed local vars, and coding style issues. 2016-04-22 12:44:08 +02:00
eda_doc.cpp Make doc extension (pdf) case insensitive. 2017-01-22 10:40:37 -05:00
eda_pattern_match.cpp Add relational operators to component search 2017-03-27 21:26:49 -04:00
eda_text.cpp Moved FMT_UI & FMT_ANGLE macros to a separate header 2017-10-20 09:34:32 +02:00
exceptions.cpp Clean up file format error message a bit more 2017-01-27 07:27:53 -05:00
executable_names.cpp Move executable name constants to own file 2017-03-23 09:23:45 -04:00
filter_reader.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
findkicadhelppath.cpp.notused improve help file finding after kiway breakage. 2014-04-14 13:49:52 -05:00
footprint_filter.cpp Minor FOOTPRINT_FILTER fix 2017-07-17 15:00:13 -06:00
footprint_info.cpp Fix a few minor coverity warnings (not initialized members) 2017-11-11 07:25:00 +01:00
fp_lib_table.cpp Eagle Project Import: Code cleanup and documentation. 2017-10-20 08:58:40 +02:00
gbr_metadata.cpp Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled 2017-08-30 11:04:33 +02:00
gestfich.cpp Launch correct default system PDF viewer on Linux. 2017-06-07 12:41:04 -04:00
getrunningmicrosecs.cpp Performance counter rework: More comments, code cleaning, and move GetRunningMicroSecs() prototype from common.h to profile.h. 2017-01-02 13:49:36 +01:00
gl_context_mgr.cpp Avoid drawing into a non valid gl context when closing the DIALOG_PAD_PROPERTIES dialog 2017-11-07 18:33:53 +01:00
gr_basic.cpp minor enhancement in code 2017-10-26 10:55:01 +02:00
grid_tricks.cpp Add missing C++ stdlib headers 2016-05-28 12:46:29 -04:00
hash_eda.cpp Hash functions for BOARD_ITEMs 2017-10-24 23:10:40 +02:00
hotkeys_basic.cpp general UI fix. Fixed a lot of icons and a lot of menu. 2017-06-02 11:51:11 +02:00
html_messagebox.cpp Fix graphics rendering on RTL systems (lp:1559545) 2016-03-22 14:53:50 -04:00
incremental_text_ctrl.cpp SPIN_INCREMENTAL_TEXT_CTRL: unused member warning 2017-03-17 22:42:43 -04:00
kiface_i.cpp Move SystemDirsAppend to own header 2017-03-23 09:23:45 -04:00
kiway.cpp Make show/hide icons in menus a run time option, instead of compil option. 2017-03-02 15:45:54 +01:00
kiway_express.cpp Teach cvpcb about new KIWAY based cross-probing, factor out MAIL_T into mail_type.h 2014-04-22 10:16:19 -05:00
kiway_holder.cpp License for KIWAY_HOLDER 2016-08-11 14:41:15 +02:00
kiway_player.cpp Icons options menu: code rework 2017-03-03 14:18:25 +01:00
lib_id.cpp Rewrite class UTF8 to contain rather than extend std::string storage. 2017-07-26 08:30:12 -04:00
lib_table.keywords Make footprint ID into a generic library ID. 2016-11-20 18:35:08 -05:00
lib_table_base.cpp Convert symbol library editor over to use symbol library table. 2017-11-09 18:50:20 -05:00
lockfile.cpp Move file locking utilities to a separate file 2017-03-23 09:23:45 -04:00
lset.cpp Fix minor issues in DIALOG_KEEPOUT_AREA_PROPERTIES. 2017-09-27 16:54:28 +02:00
msgpanel.cpp Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support 2017-02-22 17:35:00 +01:00
netlist.keywords Fix Bug #1381287 (CvPCB ignores the footprint filter field on aliased components) 2015-01-02 08:52:29 +01:00
newstroke_font.cpp all: new Russian GOST patch - author Konstantin Baranovskiy 2013-03-28 00:38:20 +04:00
observable.cpp Coverity fixes (mostly initializing variables) 2017-02-01 17:31:55 +01:00
origin_viewitem.cpp Display GRID_HELPER auxiliary axes and snap points 2017-08-07 08:59:32 +02:00
painter.cpp Refactor layer enumerations to all live in the same place 2017-03-30 16:01:48 -04:00
pcb.keywords Add support for custom pad shape. Full support in DRC and PnS. 2017-09-19 09:02:53 +02:00
pcb_plot_params.keywords Add Gerber job file writer in Pcbnew, and a basic reader in Gerbview. Currently disabled 2017-08-30 11:04:33 +02:00
pgm_base.cpp Symbol library table remapping fixes. 2017-11-09 18:50:18 -05:00
prependpath.cpp Fix some issues related to the footprint wizard frame: 2015-09-07 12:52:16 +02:00
project.cpp Minor symbol library table edit dialog fix. 2017-11-11 10:33:06 -05:00
properties.cpp Eeschema: initial schematic I/O plugin. 2016-07-06 05:22:56 -04:00
ptree.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
reporter.cpp Added lazy rendering mode for HTML reporter widget (allows a faster report creation, when the report has many lines) 2015-07-24 17:47:48 +02:00
richio.cpp Fix a corner case in richio.cpp that creates a memory allocation overrun (allocate more space). 2017-11-08 13:11:51 +01:00
search_stack.cpp Fix windows help path bug. (fixes lp:1313412) 2015-09-20 14:23:17 -04:00
searchhelpfilefullpath.cpp Fix windows help path bug. (fixes lp:1313412) 2015-09-20 14:23:17 -04:00
selcolor.cpp Changed COLOR4D defines to static consts 2017-02-22 17:35:00 +01:00
settings.cpp Multiple improvements concerning colors, configuration handling and legacy features in pcbnew: 2017-08-04 16:06:57 +02:00
single_top.cpp Convert symbol library editor over to use symbol library table. 2017-11-09 18:50:20 -05:00
streamwrapper.cpp Fix a few doxygen warnings and add a few comments. 2017-07-04 11:08:27 +02:00
string.cpp Display more information in component selector 2017-02-07 15:01:20 -05:00
strtok_r.c Add strtok_r.c 2013-12-10 17:52:51 -06:00
systemdirsappend.cpp Minor fixes: remove a few useless includes and move a few others to the right file. Remove a few coverity warnings about not initialized members. 2015-05-15 14:49:11 +02:00
trigo.cpp common: VECTOR2I-based RotatePoint() 2017-10-19 23:15:13 +02:00
utf8.cpp Rewrite class UTF8 to contain rather than extend std::string storage. 2017-07-26 08:30:12 -04:00
validators.cpp Envrionment variable dialog improvments. 2015-08-16 20:30:29 -04:00
wildcards_and_files_ext.cpp GTK+ file dialog wildcard improvements. 2017-11-11 19:32:26 -05:00
worksheet.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
worksheet_viewitem.cpp Refactor layer enumerations to all live in the same place 2017-03-30 16:01:48 -04:00
wx_status_popup.cpp Code formatting. 2015-02-18 17:53:46 +01:00
wx_unit_binder.cpp refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
wxdataviewctrl_helpers.cpp Move wxDataViewCtrl manipulators out of dialog_choose_component.cpp 2017-03-30 21:47:14 -04:00
wxwineda.cpp * KIWAY Milestone A): Make major modules into DLL/DSOs. 2014-03-19 19:42:08 -05:00
xnode.cpp Removed all exception specifiers since deprecated. 2017-06-12 13:54:55 -04:00
zoom.cpp Fix a UI policy issue. Very minor cosmetic change: give same look to Zoom and Grid selection in 2 menus. 2017-01-20 11:35:24 +01:00