diff --git a/common/base_screen.cpp b/common/base_screen.cpp index ab98fb86e7..84c253e99a 100644 --- a/common/base_screen.cpp +++ b/common/base_screen.cpp @@ -3,8 +3,8 @@ * * Copyright (C) 2012 Jean-Pierre Charras, jean-pierre.charras@ujf-grenoble.fr * Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> - * Copyright (C) 2012 Wayne Stambaugh <stambaughw@verizon.net> - * Copyright (C) 1992-2012 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 2012 Wayne Stambaugh <stambaughw@gmail.com> + * Copyright (C) 1992-2018 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -36,9 +36,12 @@ #include <base_screen.h> #include <id.h> #include <base_units.h> +#include <trace_helpers.h> + wxString BASE_SCREEN::m_PageLayoutDescrFileName; // the name of the page layout descr file. + BASE_SCREEN::BASE_SCREEN( KICAD_T aType ) : EDA_ITEM( aType ) { @@ -122,7 +125,7 @@ bool BASE_SCREEN::SetZoom( double iu_per_du ) if( iu_per_du == m_Zoom ) return false; - //wxLogDebug( "Zoom:%.16g 1/Zoom:%.16g", iu_per_du, 1/iu_per_du ); + wxLogTrace( traceScreen, "Zoom:%.16g 1/Zoom:%.16g", iu_per_du, 1/iu_per_du ); if( iu_per_du < GetMinAllowedZoom() ) return false; @@ -282,21 +285,20 @@ int BASE_SCREEN::SetGrid( int aCommandId ) } - void BASE_SCREEN::AddGrid( const GRID_TYPE& grid ) { for( unsigned i = 0; i < m_grids.size(); i++ ) { if( m_grids[i].m_Size == grid.m_Size && grid.m_CmdId != ID_POPUP_GRID_USER ) { - wxLogDebug( wxT( "Discarding duplicate grid size( %g, %g )." ), + wxLogTrace( traceScreen, "Discarding duplicate grid size( %g, %g ).", grid.m_Size.x, grid.m_Size.y ); return; } if( m_grids[i].m_CmdId == grid.m_CmdId ) { - wxLogDebug( wxT( "Changing grid ID %d from size( %g, %g ) to " ) \ + wxLogTrace( traceScreen, wxT( "Changing grid ID %d from size( %g, %g ) to " ) \ wxT( "size( %g, %g )." ), grid.m_CmdId, m_grids[i].m_Size.x, m_grids[i].m_Size.y, grid.m_Size.x, grid.m_Size.y ); @@ -380,7 +382,8 @@ wxPoint BASE_SCREEN::getNearestGridPosition( const wxPoint& aPosition, } -wxPoint BASE_SCREEN::getCursorPosition( bool aOnGrid, const wxPoint& aGridOrigin, wxRealPoint* aGridSize ) const +wxPoint BASE_SCREEN::getCursorPosition( bool aOnGrid, const wxPoint& aGridOrigin, + wxRealPoint* aGridSize ) const { if( aOnGrid ) return getNearestGridPosition( m_crossHairPosition, aGridOrigin, aGridSize ); @@ -401,7 +404,8 @@ wxPoint BASE_SCREEN::getCrossHairScreenPosition() const } -void BASE_SCREEN::setCrossHairPosition( const wxPoint& aPosition, const wxPoint& aGridOrigin, bool aSnapToGrid ) +void BASE_SCREEN::setCrossHairPosition( const wxPoint& aPosition, const wxPoint& aGridOrigin, + bool aSnapToGrid ) { if( aSnapToGrid ) m_crossHairPosition = getNearestGridPosition( aPosition, aGridOrigin, NULL ); @@ -425,6 +429,7 @@ void BASE_SCREEN::PushCommandToUndoList( PICKED_ITEMS_LIST* aNewitem ) if( m_UndoRedoCountMax > 0 ) { int extraitems = GetUndoCommandCount() - m_UndoRedoCountMax; + if( extraitems > 0 ) ClearUndoORRedoList( m_UndoList, extraitems ); } @@ -439,6 +444,7 @@ void BASE_SCREEN::PushCommandToRedoList( PICKED_ITEMS_LIST* aNewitem ) if( m_UndoRedoCountMax > 0 ) { int extraitems = GetRedoCommandCount() - m_UndoRedoCountMax; + if( extraitems > 0 ) ClearUndoORRedoList( m_RedoList, extraitems ); } @@ -447,13 +453,13 @@ void BASE_SCREEN::PushCommandToRedoList( PICKED_ITEMS_LIST* aNewitem ) PICKED_ITEMS_LIST* BASE_SCREEN::PopCommandFromUndoList( ) { - return m_UndoList.PopCommand( ); + return m_UndoList.PopCommand(); } PICKED_ITEMS_LIST* BASE_SCREEN::PopCommandFromRedoList( ) { - return m_RedoList.PopCommand( ); + return m_RedoList.PopCommand(); } diff --git a/common/pgm_base.cpp b/common/pgm_base.cpp index c7997e0f41..fd95e5dda8 100644 --- a/common/pgm_base.cpp +++ b/common/pgm_base.cpp @@ -54,6 +54,7 @@ #include <dialog_configure_paths.h> #include <lockfile.h> #include <systemdirsappend.h> +#include <trace_helpers.h> #include <gal/gal_display_options.h> #define KICAD_COMMON wxT( "kicad_common" ) @@ -195,7 +196,7 @@ void PGM_BASE::SetEditorName( const wxString& aFileName ) { m_editor_name = aFileName; wxASSERT( m_common_settings ); - m_common_settings->Write( wxT( "Editor" ), aFileName ); + m_common_settings->Write( "Editor", aFileName ); } @@ -205,7 +206,7 @@ const wxString& PGM_BASE::GetEditorName( bool aCanShowFileChooser ) if( !editorname ) { - if( !wxGetEnv( wxT( "EDITOR" ), &editorname ) ) + if( !wxGetEnv( "EDITOR", &editorname ) ) { // If there is no EDITOR variable set, try the desktop default #ifdef __WXMAC__ @@ -284,7 +285,7 @@ bool PGM_BASE::InitPgm() // Init KiCad environment // the environment variable KICAD (if exists) gives the kicad path: // something like set KICAD=d:\kicad - bool isDefined = wxGetEnv( wxT( "KICAD" ), &m_kicad_env ); + bool isDefined = wxGetEnv( "KICAD", &m_kicad_env ); if( isDefined ) // ensure m_kicad_env ends by "/" { @@ -295,7 +296,7 @@ bool PGM_BASE::InitPgm() } // Init parameters for configuration - App().SetVendorName( wxT( "KiCad" ) ); + App().SetVendorName( "KiCad" ); App().SetAppName( pgm_name.GetName().Lower() ); // Install some image handlers, mainly for help @@ -348,8 +349,8 @@ bool PGM_BASE::InitPgm() #endif #if !defined( __WXMAC__ ) - baseSharePath.AppendDir( wxT( "share" ) ); - baseSharePath.AppendDir( wxT( "kicad" ) ); + baseSharePath.AppendDir( "share" ); + baseSharePath.AppendDir( "kicad" ); #endif // KISYSMOD @@ -363,7 +364,7 @@ bool PGM_BASE::InitPgm() else { tmpFileName = baseSharePath; - tmpFileName.AppendDir( wxT( "modules" ) ); + tmpFileName.AppendDir( "modules" ); envVarItem.SetDefinedExternally( false ); } @@ -380,7 +381,7 @@ bool PGM_BASE::InitPgm() } else { - tmpFileName.AppendDir( wxT( "packages3d" ) ); + tmpFileName.AppendDir( "packages3d" ); envVarItem.SetDefinedExternally( false ); } @@ -413,7 +414,8 @@ bool PGM_BASE::InitPgm() // Only add path if exists and can be read by the user. if( fn.DirExists() && fn.IsDirReadable() ) { - wxLogDebug( "Checking template path '%s' exists", fn.GetPath() ); + wxLogTrace( tracePathsAndFiles, "Checking template path '%s' exists", + fn.GetPath() ); templatePaths.AddPaths( fn.GetPath() ); } } @@ -466,7 +468,7 @@ bool PGM_BASE::InitPgm() else { tmpFileName = baseSharePath; - tmpFileName.AppendDir( wxT( "library" ) ); + tmpFileName.AppendDir( "library" ); envVarItem.SetDefinedExternally( false ); } @@ -590,7 +592,7 @@ void PGM_BASE::loadCommonSettings() } } - m_editor_name = m_common_settings->Read( wxT( "Editor" ) ); + m_editor_name = m_common_settings->Read( "Editor" ); wxString entry, oldPath; wxArrayString entries; @@ -602,7 +604,7 @@ void PGM_BASE::loadCommonSettings() while( m_common_settings->GetNextEntry( entry, index ) ) { wxLogTrace( traceEnvVars, - wxT( "Enumerating over entry %s, %ld." ), GetChars( entry ), index ); + "Enumerating over entry %s, %ld.", GetChars( entry ), index ); entries.Add( entry ); } @@ -642,12 +644,12 @@ void PGM_BASE::SaveCommonSettings() if( it->second.GetDefinedExternally() ) continue; - wxLogTrace( traceEnvVars, wxT( "Saving environment variable config entry %s as %s" ), + wxLogTrace( traceEnvVars, "Saving environment variable config entry %s as %s", GetChars( it->first ), GetChars( it->second.GetValue() ) ); m_common_settings->Write( it->first, it->second.GetValue() ); } - m_common_settings->SetPath( wxT( ".." ) ); + m_common_settings->SetPath( ".." ); } } @@ -677,14 +679,14 @@ bool PGM_BASE::SetLanguage( bool first_time ) } // dictionary file name without extend (full name is kicad.mo) - wxString dictionaryName( wxT( "kicad" ) ); + wxString dictionaryName( "kicad" ); delete m_locale; m_locale = new wxLocale; if( !m_locale->Init( m_language_id ) ) { - wxLogDebug( wxT( "This language is not supported by the system." ) ); + wxLogTrace( traceLocale, "This language is not supported by the system." ); setLanguageId( wxLANGUAGE_DEFAULT ); delete m_locale; @@ -695,7 +697,7 @@ bool PGM_BASE::SetLanguage( bool first_time ) } else if( !first_time ) { - wxLogDebug( wxT( "Search for dictionary %s.mo in %s" ), + wxLogTrace( traceLocale, "Search for dictionary %s.mo in %s", GetChars( dictionaryName ), GetChars( m_locale->GetName() ) ); } @@ -746,7 +748,7 @@ bool PGM_BASE::SetLanguage( bool first_time ) void PGM_BASE::SetLanguageIdentifier( int menu_id ) { - wxLogDebug( wxT( "Select language ID %d from %d possible languages." ), + wxLogTrace( traceLocale, "Select language ID %d from %d possible languages.", menu_id, DIM( s_Languages ) ); for( unsigned ii = 0; ii < DIM( s_Languages ); ii++ ) @@ -772,23 +774,23 @@ void PGM_BASE::SetLanguagePath() wxFileName fn( guesses[i], wxEmptyString ); // Append path for Windows and unix KiCad package install - fn.AppendDir( wxT( "share" ) ); - fn.AppendDir( wxT( "internat" ) ); + fn.AppendDir( "share" ); + fn.AppendDir( "internat" ); if( fn.IsDirReadable() ) { - wxLogDebug( wxT( "Adding locale lookup path: " ) + fn.GetPath() ); + wxLogTrace( traceLocale, "Adding locale lookup path: " + fn.GetPath() ); wxLocale::AddCatalogLookupPathPrefix( fn.GetPath() ); } // Append path for unix standard install fn.RemoveLastDir(); - fn.AppendDir( wxT( "kicad" ) ); - fn.AppendDir( wxT( "internat" ) ); + fn.AppendDir( "kicad" ); + fn.AppendDir( "internat" ); if( fn.IsDirReadable() ) { - wxLogDebug( wxT( "Adding locale lookup path: " ) + fn.GetPath() ); + wxLogTrace( traceLocale, "Adding locale lookup path: " + fn.GetPath() ); wxLocale::AddCatalogLookupPathPrefix( fn.GetPath() ); } } @@ -843,12 +845,12 @@ bool PGM_BASE::SetLocalEnvVariable( const wxString& aName, const wxString& aValu // Check to see if the environment variable is already set. if( wxGetEnv( aName, &env ) ) { - wxLogTrace( traceEnvVars, wxT( "Environment variable %s already set to %s." ), + wxLogTrace( traceEnvVars, "Environment variable %s already set to %s.", GetChars( aName ), GetChars( env ) ); return env == aValue; } - wxLogTrace( traceEnvVars, wxT( "Setting local environment variable %s to %s." ), + wxLogTrace( traceEnvVars, "Setting local environment variable %s to %s.", GetChars( aName ), GetChars( aValue ) ); return wxSetEnv( aName, aValue ); @@ -869,7 +871,7 @@ void PGM_BASE::SetLocalEnvVariables( const ENV_VAR_MAP& aEnvVarMap ) // is run. for( ENV_VAR_MAP_ITER it = m_local_env_vars.begin(); it != m_local_env_vars.end(); ++it ) { - wxLogTrace( traceEnvVars, wxT( "Setting local environment variable %s to %s." ), + wxLogTrace( traceEnvVars, "Setting local environment variable %s to %s.", GetChars( it->first ), GetChars( it->second.GetValue() ) ); wxSetEnv( it->first, it->second.GetValue() ); } diff --git a/common/search_stack.cpp b/common/search_stack.cpp index 6c96c3fa5c..3cfa3c4eda 100644 --- a/common/search_stack.cpp +++ b/common/search_stack.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014 CERN - * Copyright (C) 2014-2015 KiCad Developers, see CHANGELOG.TXT for contributors. + * Copyright (C) 2014-2018 KiCad Developers, see CHANGELOG.TXT for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -24,9 +24,9 @@ #include <macros.h> #include <search_stack.h> +#include <trace_helpers.h> #include <wx/tokenzr.h> - #if defined(__MINGW32__) #define PATH_SEPS wxT( ";\r\n" ) #else @@ -200,11 +200,11 @@ const wxString SEARCH_STACK::LastVisitedPath( const wxString& aSubPathToSearch ) #if defined(DEBUG) void SEARCH_STACK::Show( const wxString& aPrefix ) const { - wxLogDebug( wxT( "%s SEARCH_STACK:" ), GetChars( aPrefix ) ); + wxLogTrace( tracePathsAndFiles, "%s SEARCH_STACK:", aPrefix ); for( unsigned i=0; i<GetCount(); ++i ) { - wxLogDebug( wxT( " [%2u]:%s" ), i, TO_UTF8( (*this)[i] ) ); + wxLogTrace( tracePathsAndFiles, " [%2u]:%s", i, TO_UTF8( (*this)[i] ) ); } } #endif diff --git a/common/searchhelpfilefullpath.cpp b/common/searchhelpfilefullpath.cpp index 89122ba959..64636dbeff 100644 --- a/common/searchhelpfilefullpath.cpp +++ b/common/searchhelpfilefullpath.cpp @@ -2,7 +2,7 @@ * This program source code file is part of KiCad, a free EDA CAD application. * * Copyright (C) 2014-2015 CERN - * Copyright (C) 2014-2015 KiCad Developers, see CHANGELOG.TXT for contributors. + * Copyright (C) 2014-2018 KiCad Developers, see CHANGELOG.TXT for contributors. * @author Maciej Suminski <maciej.suminski@cern.ch> * * This program is free software; you can redistribute it and/or @@ -27,6 +27,7 @@ #include <common.h> #include <config.h> // to define DEFAULT_INSTALL_PATH #include <macros.h> +#include <trace_helpers.h> /** @@ -50,7 +51,7 @@ wxString FindFileInSearchPaths( const SEARCH_STACK& aStack, fn.AppendDir( (*aSubdirs)[j] ); } - wxLogDebug( wxT( " %s" ), GetChars( fn.GetFullPath() ) ); + wxLogTrace( tracePathsAndFiles, " %s", fn.GetFullPath() ); if( fn.DirExists() ) { @@ -85,10 +86,10 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB // and in Contents/SharedSupport/help inside the // bundle. // Below we account for an international subdirectory. - subdirs.Add( wxT( "help" ) ); - altsubdirs.Add( wxT( "Contents" ) ); - altsubdirs.Add( wxT( "SharedSupport" ) ); - altsubdirs.Add( wxT( "help" ) ); + subdirs.Add( "help" ); + altsubdirs.Add( "Contents" ); + altsubdirs.Add( "SharedSupport" ); + altsubdirs.Add( "help" ); #endif #if ! defined(__WXMAC__) // && defined(__linux__) @@ -105,17 +106,17 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB // installed into "<CMAKE_INSTALL_PREFIX>/share/doc/kicad/help" for linux. // This is ${KICAD_HELP} var in that CMakeLists.txt file. // Below we account for an international subdirectory. - subdirs.Add( wxT( "share" ) ); - subdirs.Add( wxT( "doc" ) ); - subdirs.Add( wxT( "kicad" ) ); - subdirs.Add( wxT( "help" ) ); + subdirs.Add( "share" ); + subdirs.Add( "doc" ); + subdirs.Add( "kicad" ); + subdirs.Add( "help" ); // Based on kicad-doc.bzr/CMakeLists.txt, line 35, the help files are // installed into "<CMAKE_INSTALL_PREFIX>/doc/help" for Windows. // This is ${KICAD_HELP} var in that CMakeLists.txt file. // Below we account for an international subdirectory. - altsubdirs.Add( wxT( "doc" ) ); - altsubdirs.Add( wxT( "help" ) ); + altsubdirs.Add( "doc" ); + altsubdirs.Add( "help" ); #endif // If there's a KICAD environment variable set, always use that guy's path first. @@ -140,14 +141,14 @@ wxString SearchHelpFileFullPath( const SEARCH_STACK& aSStack, const wxString& aB // wxLocale::GetName() does not return always the short name locale_name_dirs.Add( i18n->GetName().BeforeLast( '_' ) ); // short canonical name like fr - locale_name_dirs.Add( wxT( "en" ) ); // default (en) + locale_name_dirs.Add( "en" ); // default (en) #if defined(DEBUG) && 1 ss.Show( wxString( __func__ ) ); - wxLogDebug( wxT( "%s: m_help_file:'%s'" ), __func__, GetChars( aBaseName ) ); + wxLogTrace( tracePathsAndFiles, "%s: m_help_file:'%s'", __func__, aBaseName ); #endif - wxLogDebug( wxT( "Checking SEARCH_STACK for file %s" ), GetChars( aBaseName ) ); + wxLogTrace( tracePathsAndFiles, "Checking SEARCH_STACK for file %s", aBaseName ); // Help files can be html (.html ext) or pdf (.pdf ext) files. // Therefore, <BaseName>.html file is searched and if not found, diff --git a/common/trace_helpers.cpp b/common/trace_helpers.cpp index e3f3616a24..8586ef3561 100644 --- a/common/trace_helpers.cpp +++ b/common/trace_helpers.cpp @@ -46,6 +46,8 @@ const wxChar* const traceKicadPcbPlugin = wxT( "KICAD_PCB_PLUGIN" ); const wxChar* const tracePrinting = wxT( "KICAD_PRINT" ); const wxChar* const traceAutoSave = wxT( "KICAD_AUTOSAVE" ); const wxChar* const tracePathsAndFiles = wxT( "KICAD_PATHS_AND_FILES" ); +const wxChar* const traceLocale = wxT( "KICAD_LOCALE" ); +const wxChar* const traceScreen = wxT( "KICAD_SCREEN" ); wxString dump( const wxArrayString& aArray ) diff --git a/include/trace_helpers.h b/include/trace_helpers.h index f416c55cbd..115d87d800 100644 --- a/include/trace_helpers.h +++ b/include/trace_helpers.h @@ -99,6 +99,16 @@ extern const wxChar* const tracePrinting; */ extern const wxChar* const tracePathsAndFiles; +/** + * Flag to enable locale debug output. + */ +extern const wxChar* const traceLocale; + +/** + * Flag to enable debug output of #BASE_SCREEN and it's derivatives. + */ +extern const wxChar* const traceScreen; + ///@} /** diff --git a/kicad/tree_project_frame.cpp b/kicad/tree_project_frame.cpp index eebabe184d..8a1f61a4e8 100644 --- a/kicad/tree_project_frame.cpp +++ b/kicad/tree_project_frame.cpp @@ -3,7 +3,7 @@ * * Copyright (C) 2012 SoftPLC Corporation, Dick Hollenbeck <dick@softplc.com> * Copyright (C) 2012 Jean-Pierre Charras, jp.charras at wanadoo.fr - * Copyright (C) 1992-2017 KiCad Developers, see AUTHORS.txt for contributors. + * Copyright (C) 1992-2018 KiCad Developers, see AUTHORS.txt for contributors. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -38,6 +38,7 @@ #include <bitmaps.h> #include <gestfich.h> #include <menus_helpers.h> +#include <trace_helpers.h> #include <wildcards_and_files_ext.h> #include "treeproject_item.h" @@ -476,6 +477,7 @@ bool TREE_PROJECT_FRAME::AddItemToTreeProject( const wxString& aName, wxString fullFileName = aName.BeforeLast( '.' ); wxString rootName; TREEPROJECT_ITEM* itemData = GetItemIdData( m_root ); + if( itemData ) rootName = itemData->GetFileName().BeforeLast( '.' ); @@ -691,48 +693,49 @@ void TREE_PROJECT_FRAME::OnRight( wxTreeEvent& Event ) switch( tree_id ) { - case TREE_PROJECT: - // Add a swith to an other project option only if the selected item - // is not the root item (current project) - if( curr_item != m_TreeProject->GetRootItem() ) - { - AddMenuItem( &popupMenu, ID_PROJECT_SWITCH_TO_OTHER, - _( "&Switch to this Project" ), - _( "Close all editors, and switch to the selected project" ), - KiBitmap( open_project_xpm ) ); - popupMenu.AppendSeparator(); - } - AddMenuItem( &popupMenu, ID_PROJECT_NEWDIR, - _( "New D&irectory..." ), - _( "Create a New Directory" ), - KiBitmap( directory_xpm ) ); - break; + case TREE_PROJECT: + // Add a swith to an other project option only if the selected item + // is not the root item (current project) + if( curr_item != m_TreeProject->GetRootItem() ) + { + AddMenuItem( &popupMenu, ID_PROJECT_SWITCH_TO_OTHER, + _( "&Switch to this Project" ), + _( "Close all editors, and switch to the selected project" ), + KiBitmap( open_project_xpm ) ); + popupMenu.AppendSeparator(); + } - case TREE_DIRECTORY: - AddMenuItem( &popupMenu, ID_PROJECT_NEWDIR, - _( "New D&irectory..." ), - _( "Create a New Directory" ), - KiBitmap( directory_xpm ) ); - AddMenuItem( &popupMenu, ID_PROJECT_DELETE, - _( "&Delete Directory" ), - _( "Delete the Directory and its content" ), - KiBitmap( delete_xpm ) ); - break; + AddMenuItem( &popupMenu, ID_PROJECT_NEWDIR, + _( "New D&irectory..." ), + _( "Create a New Directory" ), + KiBitmap( directory_xpm ) ); + break; - default: - AddMenuItem( &popupMenu, ID_PROJECT_TXTEDIT, - _( "&Edit in a Text Editor" ), - _( "Open the file in a Text Editor" ), - KiBitmap( editor_xpm ) ); - AddMenuItem( &popupMenu, ID_PROJECT_RENAME, - _( "&Rename File..." ), - _( "Rename file" ), - KiBitmap( right_xpm ) ); - AddMenuItem( &popupMenu, ID_PROJECT_DELETE, - _( "&Delete File" ), - _( "Delete the Directory and its content" ), - KiBitmap( delete_xpm ) ); - break; + case TREE_DIRECTORY: + AddMenuItem( &popupMenu, ID_PROJECT_NEWDIR, + _( "New D&irectory..." ), + _( "Create a New Directory" ), + KiBitmap( directory_xpm ) ); + AddMenuItem( &popupMenu, ID_PROJECT_DELETE, + _( "&Delete Directory" ), + _( "Delete the Directory and its content" ), + KiBitmap( delete_xpm ) ); + break; + + default: + AddMenuItem( &popupMenu, ID_PROJECT_TXTEDIT, + _( "&Edit in a Text Editor" ), + _( "Open the file in a Text Editor" ), + KiBitmap( editor_xpm ) ); + AddMenuItem( &popupMenu, ID_PROJECT_RENAME, + _( "&Rename File..." ), + _( "Rename file" ), + KiBitmap( right_xpm ) ); + AddMenuItem( &popupMenu, ID_PROJECT_DELETE, + _( "&Delete File" ), + _( "Delete the Directory and its content" ), + KiBitmap( delete_xpm ) ); + break; } PopupMenu( &popupMenu ); @@ -1083,7 +1086,7 @@ void TREE_PROJECT_FRAME::FileWatcherReset() // we can see wxString under a debugger, not a wxFileName const wxString& path = itemData->GetFileName(); - wxLogDebug( "%s: add '%s'\n", __func__, TO_UTF8( path ) ); + wxLogTrace( traceFilesAndPaths, "%s: add '%s'\n", __func__, TO_UTF8( path ) ); if( wxFileName::IsDirReadable( path ) ) // linux whines about watching protected dir { @@ -1103,10 +1106,10 @@ void TREE_PROJECT_FRAME::FileWatcherReset() #if defined(DEBUG) && 1 wxArrayString paths; m_watcher->GetWatchedPaths( &paths ); - wxLogDebug( "%s: watched paths:", __func__ ); + wxLogTrace( tracePathsAndFiles, "%s: watched paths:", __func__ ); for( unsigned ii = 0; ii < paths.GetCount(); ii++ ) - wxLogDebug( " %s\n", TO_UTF8( paths[ii] ) ); + wxLogTrace( tracePathsAndFiles, " %s\n", TO_UTF8( paths[ii] ) ); #endif }