Browse Source

Reorder tabs should now work.

merge-requests/365/head
eidheim 10 years ago
parent
commit
784456b7d3
  1. 19
      src/notebook.cc
  2. 1
      src/notebook.h

19
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<hboxes.size();c++) {
if(page_num(*hboxes.at(c))==page)
return c;
}
return -1;
}
Source::View* Notebook::get_current_view() {
@ -177,15 +185,16 @@ bool Notebook::close_current_page() {
}
}
int page = get_current_page();
int index=get_index(page);
remove_page(page);
auto source_view=source_views.at(page);
auto source_view=source_views.at(index);
if(auto source_clang_view=dynamic_cast<Source::ClangView*>(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;

1
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();

Loading…
Cancel
Save