summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPatrick McDermott <pj@pehjota.net>2017-09-16 17:49:24 (EDT)
committer Patrick McDermott <pj@pehjota.net>2017-09-16 17:49:24 (EDT)
commit4572ba9c5b4b97782f3ecc6806185febadbc34ea (patch)
tree4d0b0a17ada66bc3b9c078ab4e798711064200d5 /src
parentdf854cf5f686013eed4c80b501a48fa398c0250b (diff)
downloadmarquee-4572ba9c5b4b97782f3ecc6806185febadbc34ea.zip
marquee-4572ba9c5b4b97782f3ecc6806185febadbc34ea.tar.gz
marquee-4572ba9c5b4b97782f3ecc6806185febadbc34ea.tar.bz2
src/tab-body.[ch]: New files
And use in src/tab.[ch].
Diffstat (limited to 'src')
-rw-r--r--src/local.mk3
-rw-r--r--src/tab-body.c50
-rw-r--r--src/tab-body.h39
-rw-r--r--src/tab.c5
-rw-r--r--src/tab.h2
5 files changed, 97 insertions, 2 deletions
diff --git a/src/local.mk b/src/local.mk
index adfd8d3..ca2e0b0 100644
--- a/src/local.mk
+++ b/src/local.mk
@@ -2,4 +2,5 @@ marquee_SOURCES += \
%reldir%/main.c \
%reldir%/window.c \
%reldir%/tab.c \
- %reldir%/tab-chrome.c
+ %reldir%/tab-chrome.c \
+ %reldir%/tab-body.c
diff --git a/src/tab-body.c b/src/tab-body.c
new file mode 100644
index 0000000..6084260
--- /dev/null
+++ b/src/tab-body.c
@@ -0,0 +1,50 @@
+/*
+ * Tab body
+ *
+ * Copyright (C) 2017 Patrick McDermott
+ *
+ * This file is part of Marquee.
+ *
+ * Marquee is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Marquee is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Marquee. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdlib.h>
+
+#include <gtk/gtk.h>
+#include <webkit2/webkit2.h>
+
+#include "tab-body.h"
+
+MqTabBody *
+mq_tab_body_new(gchar *uri)
+{
+ MqTabBody *body;
+
+ body = malloc(sizeof(*body));
+
+ body->container = gtk_grid_new();
+
+ body->web_view = WEBKIT_WEB_VIEW(webkit_web_view_new());
+ webkit_web_view_load_uri(body->web_view, uri);
+ gtk_grid_attach(GTK_GRID(body->container), GTK_WIDGET(body->web_view),
+ 1, 0, 1, 1);
+
+ return body;
+}
+
+GtkWidget *
+mq_tab_body_get_container(MqTabBody *body)
+{
+ return body->container;
+}
diff --git a/src/tab-body.h b/src/tab-body.h
new file mode 100644
index 0000000..434182c
--- /dev/null
+++ b/src/tab-body.h
@@ -0,0 +1,39 @@
+/*
+ * Tab body
+ *
+ * Copyright (C) 2017 Patrick McDermott
+ *
+ * This file is part of Marquee.
+ *
+ * Marquee is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Marquee is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Marquee. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef MQ_TAB_BODY_H
+#define MQ_TAB_BODY_H
+
+#include <gtk/gtk.h>
+#include <webkit2/webkit2.h>
+
+typedef struct {
+ GtkWidget *container;
+ WebKitWebView *web_view;
+} MqTabBody;
+
+MqTabBody *
+mq_tab_body_new(gchar *uri);
+
+GtkWidget *
+mq_tab_body_get_container(MqTabBody *body);
+
+#endif
diff --git a/src/tab.c b/src/tab.c
index 42c408d..49f0b12 100644
--- a/src/tab.c
+++ b/src/tab.c
@@ -25,6 +25,7 @@
#include "tab.h"
#include "tab-chrome.h"
+#include "tab-body.h"
MqTab *
mq_tab_new(gchar *uri)
@@ -33,12 +34,14 @@ mq_tab_new(gchar *uri)
tab = malloc(sizeof(*tab));
tab->chrome = mq_tab_chrome_new(uri);
+ tab->body = mq_tab_body_new(uri);
tab->container = gtk_grid_new();
gtk_grid_attach(GTK_GRID(tab->container),
mq_tab_chrome_get_container(tab->chrome),
0, 0, 1, 1);
- gtk_grid_attach(GTK_GRID(tab->container), gtk_label_new("Body"),
+ gtk_grid_attach(GTK_GRID(tab->container),
+ mq_tab_body_get_container(tab->body),
0, 1, 1, 1);
return tab;
diff --git a/src/tab.h b/src/tab.h
index e5958b4..1871187 100644
--- a/src/tab.h
+++ b/src/tab.h
@@ -25,10 +25,12 @@
#include <gtk/gtk.h>
#include "tab-chrome.h"
+#include "tab-body.h"
typedef struct {
GtkWidget *container;
MqTabChrome *chrome;
+ MqTabBody *body;
} MqTab;
MqTab *