Remove WebKitWebView creation from Glade
The Glade template cannot assign an already created WebKitWebViewGroup to the WebKitWebView it creates. Thus we need to create it manuallp
This commit is contained in:
parent
b8cc90912d
commit
2af46ece40
@ -52,8 +52,9 @@ static GtkWidget *
|
||||
ag_app_create_window(AgApp *app)
|
||||
{
|
||||
GtkWidget *window;
|
||||
AgAppPrivate *priv = ag_app_get_instance_private(app);
|
||||
|
||||
window = ag_window_new(app);
|
||||
window = ag_window_new(app, priv->web_view_group);
|
||||
gtk_application_add_window(GTK_APPLICATION(app), GTK_WINDOW(window));
|
||||
gtk_widget_show_all(window);
|
||||
|
||||
|
@ -30,6 +30,7 @@ struct _AgWindowPrivate {
|
||||
GtkWidget *second;
|
||||
GtkWidget *timezone;
|
||||
|
||||
GtkWidget *tab_chart;
|
||||
GtkWidget *tab_edit;
|
||||
GtkWidget *current_tab;
|
||||
|
||||
@ -695,20 +696,6 @@ ag_window_init(AgWindow *window)
|
||||
g_signal_connect(G_OBJECT(main_settings), "changed::planets-char", G_CALLBACK(ag_window_display_changed), window);
|
||||
g_signal_connect(G_OBJECT(main_settings), "changed::aspects-char", G_CALLBACK(ag_window_display_changed), window);
|
||||
|
||||
// TODO: translate this error message!
|
||||
webkit_web_view_load_html(
|
||||
WEBKIT_WEB_VIEW(priv->chart_web_view),
|
||||
"<html>" \
|
||||
"<head>" \
|
||||
"<title>No Chart</title>" \
|
||||
"</head>" \
|
||||
"<body>" \
|
||||
"<h1>No Chart</h1>" \
|
||||
"<p>No chart is loaded. Create one on the edit view, or open one from the application menu!</p>" \
|
||||
"</body>" \
|
||||
"</html>",
|
||||
NULL);
|
||||
|
||||
gtk_stack_set_visible_child_name(GTK_STACK(priv->stack), "edit");
|
||||
priv->current_tab = priv->tab_edit;
|
||||
g_object_set(priv->year_adjust, "lower", (gdouble)G_MININT, "upper", (gdouble)G_MAXINT, NULL);
|
||||
@ -759,9 +746,13 @@ ag_window_class_init(AgWindowClass *klass)
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, west_long);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, latitude);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, longitude);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, chart_web_view);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, aspect_table);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, year_adjust);
|
||||
gtk_widget_class_bind_template_child_private(
|
||||
widget_class,
|
||||
AgWindow,
|
||||
tab_chart
|
||||
);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, stack);
|
||||
gtk_widget_class_bind_template_child_private(widget_class, AgWindow, note_buffer);
|
||||
}
|
||||
@ -784,11 +775,29 @@ ag_window_configure_event_cb(GtkWidget *widget, GdkEventConfigure *event, gpoint
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
ag_window_new(AgApp *app)
|
||||
ag_window_new(AgApp *app, WebKitWebViewGroup *web_view_group)
|
||||
{
|
||||
AgWindow *window = g_object_new(AG_TYPE_WINDOW, NULL);
|
||||
AgWindowPrivate *priv = ag_window_get_instance_private(window);
|
||||
|
||||
priv->chart_web_view = webkit_web_view_new_with_group(web_view_group);
|
||||
gtk_container_add(GTK_CONTAINER(priv->tab_chart), priv->chart_web_view);
|
||||
|
||||
// TODO: translate this error message!
|
||||
webkit_web_view_load_html(
|
||||
WEBKIT_WEB_VIEW(priv->chart_web_view),
|
||||
"<html>" \
|
||||
"<head>" \
|
||||
"<title>No Chart</title>" \
|
||||
"</head>" \
|
||||
"<body>" \
|
||||
"<h1>No Chart</h1>" \
|
||||
"<p>No chart is loaded. Create one on the " \
|
||||
"edit view, or open one from the application menu!</p>" \
|
||||
"</body>" \
|
||||
"</html>",
|
||||
NULL);
|
||||
|
||||
gtk_window_set_application(GTK_WINDOW(window), GTK_APPLICATION(app));
|
||||
|
||||
gtk_window_set_icon_name(GTK_WINDOW(window), "astrognome");
|
||||
|
@ -2,6 +2,8 @@
|
||||
#define __AG_WINDOW_H__
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <webkit2/webkit2.h>
|
||||
|
||||
#include "ag-app.h"
|
||||
#include "ag-chart.h"
|
||||
|
||||
@ -32,7 +34,7 @@ struct _AgWindowClass {
|
||||
};
|
||||
|
||||
GType ag_window_get_type(void) G_GNUC_CONST;
|
||||
GtkWidget *ag_window_new(AgApp *app);
|
||||
GtkWidget *ag_window_new(AgApp *app, WebKitWebViewGroup *web_view_group);
|
||||
void ag_window_set_chart(AgWindow *window,
|
||||
AgChart *chart);
|
||||
AgChart *ag_window_get_chart(AgWindow *window);
|
||||
|
@ -568,15 +568,9 @@
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="tab_chart">
|
||||
<property name="shadow_type">in</property>
|
||||
<child>
|
||||
<object class="WebkitWebView" id="chart_web_view">
|
||||
<property name="width_request">600</property>
|
||||
<property name="height_request">600</property>
|
||||
<signal name="context-menu" handler="ag_window_chart_context_cb" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<object class="GtkAlignment" id="tab_chart">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="name">chart</property>
|
||||
|
Loading…
Reference in New Issue
Block a user