diff --git a/src/app/browser/main/tab.cpp b/src/app/browser/main/tab.cpp index d4bb9632..76e3a75d 100644 --- a/src/app/browser/main/tab.cpp +++ b/src/app/browser/main/tab.cpp @@ -29,35 +29,13 @@ Tab::~Tab() = default; Glib::ustring Tab::get_page_title( const int & PAGE_NUMBER ) { - auto pageWidget = get_nth_page( - PAGE_NUMBER - ); - - if (pageWidget == nullptr) - { - throw _("Tab page not found!"); - } - - auto tabPage = (tab::Page *) pageWidget; - - return tabPage->get_title(); + return get_tab_page(PAGE_NUMBER)->get_title(); }; Glib::ustring Tab::get_page_subtitle( const int & PAGE_NUMBER ) { - auto pageWidget = get_nth_page( - PAGE_NUMBER - ); - - if (pageWidget == nullptr) - { - throw _("Tab page not found!"); - } - - auto tabPage = (tab::Page *) pageWidget; - - return tabPage->get_subtitle(); + return get_tab_page(PAGE_NUMBER)->get_subtitle(); }; // Actions @@ -167,4 +145,20 @@ void Tab::update( ); } -} // @TODO \ No newline at end of file +} // @TODO + +// Private helpers +tab::Page * Tab::get_tab_page( + const int & PAGE_NUMBER +) { + auto pageWidget = get_nth_page( + PAGE_NUMBER + ); + + if (pageWidget == nullptr) + { + throw _("Tab page not found!"); + } + + return (tab::Page *) pageWidget; +} \ No newline at end of file diff --git a/src/app/browser/main/tab.hpp b/src/app/browser/main/tab.hpp index 471f01c2..aedd8e4d 100644 --- a/src/app/browser/main/tab.hpp +++ b/src/app/browser/main/tab.hpp @@ -7,11 +7,20 @@ namespace app::browser::main { + namespace tab + { + class Page; + } + class Tab : public Gtk::Notebook { const bool REORDERABLE = true; const bool SCROLLABLE = true; + tab::Page * get_tab_page( + const int & PAGE_NUMBER + ); + public: Tab();