diff --git a/Makefile b/Makefile index 382f82b7..8af1a9b2 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,8 @@ TARGET = bin/Yoda SRCS = src/main.cpp\ src/app/browser.cpp\ src/app/browser/header.cpp\ + src/app/browser/header/main.cpp\ + src/app/browser/header/main/title.cpp\ src/app/browser/header/menu.cpp\ src/app/browser/header/tab.cpp\ src/app/browser/main.cpp\ diff --git a/po/POTFILES.in b/po/POTFILES.in index 87c09f52..882a479c 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,5 +1,7 @@ src/app/browser.cpp src/app/browser/header.cpp +src/app/browser/header/main.cpp +src/app/browser/header/main/title.cpp src/app/browser/header/menu.cpp src/app/browser/header/tab.cpp src/app/browser/main.cpp diff --git a/src/app/browser/header.cpp b/src/app/browser/header.cpp index 15e5ffdf..b667153f 100644 --- a/src/app/browser/header.cpp +++ b/src/app/browser/header.cpp @@ -1,4 +1,5 @@ #include "header.hpp" +#include "header/main.hpp" #include "header/menu.hpp" #include "header/tab.hpp" @@ -24,10 +25,18 @@ Header::Header() pack_start( * tab ); + + // Init main widget + main = new header::Main(); + + set_title_widget( + * main + ); } Header::~Header() { delete menu; delete tab; + delete main; } \ No newline at end of file diff --git a/src/app/browser/header.hpp b/src/app/browser/header.hpp index 04296f01..01347630 100644 --- a/src/app/browser/header.hpp +++ b/src/app/browser/header.hpp @@ -7,12 +7,14 @@ namespace app::browser { namespace header { + class Main; class Menu; class Tab; } class Header : public Gtk::HeaderBar { + app::browser::header::Main * main; app::browser::header::Menu * menu; app::browser::header::Tab * tab; diff --git a/src/app/browser/header/main.cpp b/src/app/browser/header/main.cpp new file mode 100644 index 00000000..d7a393c9 --- /dev/null +++ b/src/app/browser/header/main.cpp @@ -0,0 +1,24 @@ +#include "main.hpp" +#include "main/title.hpp" + +using namespace app::browser::header; + +Main::Main() +{ + // Init container + set_orientation( + Gtk::Orientation::VERTICAL + ); + + // Init title + title = new main::Title(); + + append( + * title + ); +} + +Main::~Main() +{ + delete title; +} \ No newline at end of file diff --git a/src/app/browser/header/main.hpp b/src/app/browser/header/main.hpp new file mode 100644 index 00000000..bee098c2 --- /dev/null +++ b/src/app/browser/header/main.hpp @@ -0,0 +1,25 @@ +#ifndef APP_BROWSER_HEADER_MAIN_HPP +#define APP_BROWSER_HEADER_MAIN_HPP + +#include + +namespace app::browser::header +{ + namespace main + { + class Title; + } + + class Main : public Gtk::Box + { + main::Title * title; + + public: + + Main(); + + ~Main(); + }; +} + +#endif // APP_BROWSER_HEADER_MAIN_HPP \ No newline at end of file diff --git a/src/app/browser/header/main/title.cpp b/src/app/browser/header/main/title.cpp new file mode 100644 index 00000000..efd41775 --- /dev/null +++ b/src/app/browser/header/main/title.cpp @@ -0,0 +1,10 @@ +#include "title.hpp" + +using namespace app::browser::header::main; + +Title::Title() +{ + // @TODO +} + +Title::~Title() = default; \ No newline at end of file diff --git a/src/app/browser/header/main/title.hpp b/src/app/browser/header/main/title.hpp new file mode 100644 index 00000000..80f664ad --- /dev/null +++ b/src/app/browser/header/main/title.hpp @@ -0,0 +1,28 @@ +#ifndef APP_BROWSER_HEADER_MAIN_TITLE_HPP +#define APP_BROWSER_HEADER_MAIN_TITLE_HPP + +#include +#include +#include + +namespace app::browser::header::main +{ + class Title : public Gtk::Label + { + public: + + Title(); + + ~Title(); + + void set_title( + Glib::ustring $value + ); + + void set_subtitle( + Glib::ustring $value + ); + }; +} + +#endif // APP_BROWSER_HEADER_MAIN_TITLE_HPP \ No newline at end of file