/* * Tab chrome * * 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 . */ #include #include #include "tab-chrome.h" static GtkWidget * navigation_toolbar_new(MqTabChrome *chrome, gchar *uri) { GtkToolbar *navigation_toolbar; GtkToolItem *uri_toolitem; navigation_toolbar = GTK_TOOLBAR(gtk_toolbar_new()); /* Back button */ gtk_toolbar_insert(navigation_toolbar, gtk_tool_button_new( gtk_image_new_from_icon_name("go-previous", 16), "Back"), -1); /* Forward button */ gtk_toolbar_insert(navigation_toolbar, gtk_tool_button_new( gtk_image_new_from_icon_name("go-next", 16), "Forward"), -1); /* URI bar */ uri_toolitem = gtk_tool_item_new(); chrome->uri_entry = gtk_entry_new_with_buffer( gtk_entry_buffer_new(uri, -1)); gtk_entry_set_placeholder_text(GTK_ENTRY(chrome->uri_entry), "URI..."); gtk_container_add(GTK_CONTAINER(uri_toolitem), chrome->uri_entry); gtk_tool_item_set_expand(uri_toolitem, TRUE); gtk_toolbar_insert(navigation_toolbar, uri_toolitem, -1); gtk_widget_set_hexpand(GTK_WIDGET(navigation_toolbar), TRUE); return GTK_WIDGET(navigation_toolbar); } MqTabChrome * mq_tab_chrome_new(gchar *uri) { MqTabChrome *chrome; chrome = malloc(sizeof(*chrome)); chrome->container = gtk_grid_new(); gtk_grid_attach(GTK_GRID(chrome->container), navigation_toolbar_new(chrome, uri), 0, 0, 1, 1); return chrome; } GtkWidget * mq_tab_chrome_get_container(MqTabChrome *chrome) { return chrome->container; }