From 784456b7d3044f13101f6e09421a0668c4bc59ae Mon Sep 17 00:00:00 2001 From: eidheim Date: Wed, 9 Sep 2015 15:41:50 +0200 Subject: [PATCH] Reorder tabs should now work. --- src/notebook.cc | 19 ++++++++++++++----- src/notebook.h | 1 + 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/notebook.cc b/src/notebook.cc index dbac5fa..4c382e9 100644 --- a/src/notebook.cc +++ b/src/notebook.cc @@ -32,7 +32,15 @@ int Notebook::size() { } Source::View* Notebook::get_view(int page) { - return source_views.at(page); + return source_views.at(get_index(page)); +} + +size_t Notebook::get_index(int page) { + for(size_t c=0;c(source_view)) source_clang_view->async_delete(); else delete source_view; - source_views.erase(source_views.begin()+ page); - scrolled_windows.erase(scrolled_windows.begin()+page); - hboxes.erase(hboxes.begin()+page); + source_views.erase(source_views.begin()+index); + scrolled_windows.erase(scrolled_windows.begin()+index); + hboxes.erase(hboxes.begin()+index); } DEBUG("end true"); return true; diff --git a/src/notebook.h b/src/notebook.h index 3c75e0c..68f6d99 100644 --- a/src/notebook.h +++ b/src/notebook.h @@ -14,6 +14,7 @@ class Notebook : public Gtk::Notebook { public: Notebook(Directories &directories); Source::View* get_view(int page); + size_t get_index(int page); int size(); Source::View* get_current_view(); bool close_current_page();