diff --git a/Makefile b/Makefile index 8bcd3c4..8524716 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,7 @@ SRCS = src/app.cpp\ src/app/browser/main/tab.cpp\ src/app/browser/main/tab/page.cpp\ src/app/browser/main/tab/page/content.cpp\ + src/app/browser/main/tab/page/content/text.cpp\ src/app/browser/main/tab/page/content/text/gemini.cpp\ src/app/browser/main/tab/page/content/text/plain.cpp\ src/app/browser/main/tab/page/navigation.cpp\ diff --git a/po/POTFILES.in b/po/POTFILES.in index bf8a015..bb18332 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -12,6 +12,7 @@ src/app/browser/main.cpp src/app/browser/main/tab.cpp src/app/browser/main/tab/page.cpp src/app/browser/main/tab/page/content.cpp +src/app/browser/main/tab/page/content/text.cpp src/app/browser/main/tab/page/content/text/gemini.cpp src/app/browser/main/tab/page/content/text/plain.cpp src/app/browser/main/tab/page/navigation.cpp diff --git a/src/app/browser/main/tab/page/content.cpp b/src/app/browser/main/tab/page/content.cpp index 5cddaf2..0f8a037 100644 --- a/src/app/browser/main/tab/page/content.cpp +++ b/src/app/browser/main/tab/page/content.cpp @@ -1,6 +1,5 @@ #include "content.hpp" -#include "content/text/gemini.hpp" -#include "content/text/plain.hpp" +#include "content/text.hpp" using namespace app::browser::main::tab::page; @@ -24,23 +23,23 @@ Content::~Content() // Public actions void Content::set_text_gemini( - const Glib::ustring & gemtext + const Glib::ustring & GEMTEXT ) { + auto contentText = new content::Text; // @TODO manage + + contentText->set_gemini( + GEMTEXT + ); + set_widget( - new content::text::Gemini( - gemtext - ) + contentText ); } void Content::set_text_plain( - const Glib::ustring & text + const Glib::ustring & TEXT ) { - set_widget( - new content::text::Plain( - text - ) - ); + // @TODO } // @TODO text_plain, picture, video, etc. diff --git a/src/app/browser/main/tab/page/content.hpp b/src/app/browser/main/tab/page/content.hpp index 17322ba..a6c50ad 100644 --- a/src/app/browser/main/tab/page/content.hpp +++ b/src/app/browser/main/tab/page/content.hpp @@ -22,11 +22,11 @@ namespace app::browser::main::tab::page ~Content(); void set_text_gemini( - const Glib::ustring & gemtext + const Glib::ustring & GEMTEXT ); void set_text_plain( - const Glib::ustring & text + const Glib::ustring & TEXT ); }; } diff --git a/src/app/browser/main/tab/page/content/text.cpp b/src/app/browser/main/tab/page/content/text.cpp new file mode 100644 index 0000000..f1398d8 --- /dev/null +++ b/src/app/browser/main/tab/page/content/text.cpp @@ -0,0 +1,26 @@ +#include "text.hpp" +#include "text/gemini.hpp" +#include "text/plain.hpp" + +using namespace app::browser::main::tab::page::content; + +Text::Text() +{ + // @TODO GtkViewport? +} + +void Text::set_gemini( + const Glib::ustring & GEMTEXT +) { + set_child( + * new text::Gemini( // @TODO manage + GEMTEXT + ) + ); +} + +void Text::set_plain( + const Glib::ustring & TEXT +) { + // @TODO +} \ No newline at end of file diff --git a/src/app/browser/main/tab/page/content/text.hpp b/src/app/browser/main/tab/page/content/text.hpp new file mode 100644 index 0000000..ee3fe8c --- /dev/null +++ b/src/app/browser/main/tab/page/content/text.hpp @@ -0,0 +1,25 @@ +#ifndef APP_BROWSER_MAIN_TAB_PAGE_CONTENT_TEXT_HPP +#define APP_BROWSER_MAIN_TAB_PAGE_CONTENT_TEXT_HPP + +#include +#include + +namespace app::browser::main::tab::page::content +{ + class Text : public Gtk::ScrolledWindow + { + public: + + Text(); + + void set_gemini( + const Glib::ustring & GEMTEXT + ); + + void set_plain( + const Glib::ustring & TEXT + ); + }; +} + +#endif // APP_BROWSER_MAIN_TAB_PAGE_CONTENT_TEXT_HPP \ No newline at end of file diff --git a/src/app/browser/main/tab/page/content/text/gemini.cpp b/src/app/browser/main/tab/page/content/text/gemini.cpp index 365d2ef..e5235b2 100644 --- a/src/app/browser/main/tab/page/content/text/gemini.cpp +++ b/src/app/browser/main/tab/page/content/text/gemini.cpp @@ -3,7 +3,7 @@ using namespace app::browser::main::tab::page::content::text; Gemini::Gemini( - const Glib::ustring & gemtext + const Glib::ustring & GEMTEXT ) { set_wrap( true @@ -14,6 +14,6 @@ Gemini::Gemini( ); set_markup( - gemtext // @TODO + GEMTEXT // @TODO ); } \ No newline at end of file diff --git a/src/app/browser/main/tab/page/content/text/gemini.hpp b/src/app/browser/main/tab/page/content/text/gemini.hpp index 85b6fa8..aa6b56b 100644 --- a/src/app/browser/main/tab/page/content/text/gemini.hpp +++ b/src/app/browser/main/tab/page/content/text/gemini.hpp @@ -11,7 +11,7 @@ namespace app::browser::main::tab::page::content::text public: Gemini( - const Glib::ustring & gemtext + const Glib::ustring & GEMTEXT ); }; } diff --git a/src/app/browser/main/tab/page/content/text/plain.cpp b/src/app/browser/main/tab/page/content/text/plain.cpp index 15555a9..5834713 100644 --- a/src/app/browser/main/tab/page/content/text/plain.cpp +++ b/src/app/browser/main/tab/page/content/text/plain.cpp @@ -3,7 +3,7 @@ using namespace app::browser::main::tab::page::content::text; Plain::Plain( - const Glib::ustring & text + const Glib::ustring & TEXT ) { set_wrap( true @@ -14,6 +14,6 @@ Plain::Plain( ); set_text( - text + TEXT ); } \ No newline at end of file diff --git a/src/app/browser/main/tab/page/content/text/plain.hpp b/src/app/browser/main/tab/page/content/text/plain.hpp index bc66625..1deff1c 100644 --- a/src/app/browser/main/tab/page/content/text/plain.hpp +++ b/src/app/browser/main/tab/page/content/text/plain.hpp @@ -11,7 +11,7 @@ namespace app::browser::main::tab::page::content::text public: Plain( - const Glib::ustring & text + const Glib::ustring & TEXT ); }; }