diff --git a/src/source.cc b/src/source.cc index 7055ec6..960b5d9 100644 --- a/src/source.cc +++ b/src/source.cc @@ -886,10 +886,9 @@ void Source::View::paste() { get_buffer()->get_selection_bounds(start, end); get_buffer()->erase(start, end); } - auto line=get_line_before(); - std::string prefix_tabs; + auto iter=get_buffer()->get_insert()->get_iter(); auto tabs_end_iter=get_tabs_end_iter(); - prefix_tabs=get_line_before(tabs_end_iter); + auto prefix_tabs=get_line_before(iter0 && text.back()=='\n') + get_buffer()->insert_at_cursor('\n'+prefix_tabs); get_buffer()->place_cursor(get_buffer()->get_insert()->get_iter()); get_buffer()->end_user_action(); scroll_to_cursor_delayed(this, false, false); diff --git a/src/window.cc b/src/window.cc index a89926c..215ab5e 100644 --- a/src/window.cc +++ b/src/window.cc @@ -657,9 +657,8 @@ void Window::set_menu_actions() { }); menu.add_action("source_find_file", [this]() { - using namespace boost::filesystem; auto view = Notebook::get().get_current_view(); - auto project_path = canonical(Directories::get().path); + auto project_path = boost::filesystem::canonical(Directories::get().path); if(view) { auto dialog_iter=view->get_iter_for_dialog(); @@ -670,29 +669,28 @@ void Window::set_menu_actions() { } // std::vector excludes; - path build_default_path, build_debug_path; + boost::filesystem::path build_default_path, build_debug_path; auto build = Project::Build::create(project_path); if(!project_path.empty()) { if (is_directory(build->get_default_path())) { - build_default_path = canonical(build->get_default_path()); + build_default_path = boost::filesystem::canonical(build->get_default_path()); } if (is_directory(build->get_debug_path())) { - build_debug_path = canonical(build->get_debug_path()); + build_debug_path = boost::filesystem::canonical(build->get_debug_path()); } } // populate with all files in project - for (recursive_directory_iterator iter(project_path), end; iter != end; iter++) { - auto path = canonical(iter->path()); + for (boost::filesystem::recursive_directory_iterator iter(project_path), end; iter != end; iter++) { + auto path = boost::filesystem::canonical(iter->path()); // ignore folders, but not everything in them - if (!is_regular_file(path)) { + if (!boost::filesystem::is_regular_file(path)) { continue; } // ignore build directory, and everything in it if ((filesystem::file_in_path(path, build_default_path) && build_default_path != "") || (filesystem::file_in_path(path, build_debug_path) && build_debug_path != "")) { - std::cout << path << std::endl; iter.pop(); continue; } @@ -704,7 +702,7 @@ void Window::set_menu_actions() { } SelectionDialog::get()->on_select=[this, project_path](const std::string &selected, bool hide_window) { - auto full_path = canonical(selected); + auto full_path = boost::filesystem::canonical(selected); Notebook::get().open(full_path); auto view=Notebook::get().get_current_view(); view->hide_tooltips();