*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifdef HAVE_CONFIG_H
EvSidebarLinks *sidebar_links);
static void ev_sidebar_links_set_current_page (EvSidebarLinks *sidebar_links,
gint current_page);
-static void ev_sidebar_links_page_iface_init (EvSidebarPageIface *iface);
+static void ev_sidebar_links_page_iface_init (EvSidebarPageInterface *iface);
static gboolean ev_sidebar_links_support_document (EvSidebarPage *sidebar_page,
EvDocument *document);
static const gchar* ev_sidebar_links_get_label (EvSidebarPage *sidebar_page);
if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
EvLink *link;
int first_page, last_page = -1;
+ EvDocumentLinks *document_links;
gtk_tree_model_get (model, &iter,
EV_DOCUMENT_LINKS_COLUMN_LINK, &link,
if (!link)
return;
- first_page = ev_link_get_page (link);
+ document_links = EV_DOCUMENT_LINKS (sidebar->priv->document);
+
+ first_page = ev_document_links_get_link_page (document_links, link);
if (first_page == -1) {
g_object_unref (link);
return;
-1);
if (link) {
- last_page = ev_link_get_page (link);
+ last_page = ev_document_links_get_link_page (document_links, link);;
g_object_unref (link);
}
} else {
menu = gtk_menu_new ();
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PRINT, NULL);
- gtk_label_set_label (GTK_LABEL (GTK_BIN (item)->child), _("Print…"));
+ gtk_label_set_label (GTK_LABEL (gtk_bin_get_child (GTK_BIN (item))), _("Print…"));
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
g_signal_connect (item, "activate",
gtk_tree_view_column_set_attributes (GTK_TREE_VIEW_COLUMN (column), renderer,
"text", EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL,
NULL);
- g_object_set (G_OBJECT (renderer), "style", PANGO_STYLE_ITALIC, NULL);
+ g_object_set (G_OBJECT (renderer),
+ "style", PANGO_STYLE_ITALIC,
+ "xalign", 1.0,
+ NULL);
g_signal_connect (priv->tree_view,
"button_press_event",
ev_sidebar_links_construct (ev_sidebar_links);
}
-static gboolean
-fill_page_labels (GtkTreeModel *tree_model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- EvSidebarLinks *sidebar_links)
-{
- EvLink *link;
- gint page;
- gchar *page_label;
-
- gtk_tree_model_get (tree_model, iter,
- EV_DOCUMENT_LINKS_COLUMN_LINK, &link,
- -1);
-
- if (!link)
- return FALSE;
-
- page = ev_link_get_page (link);
-
- if (page < 0)
- return FALSE;
-
- page_label = ev_document_get_page_label (sidebar_links->priv->document,
- page);
- gtk_tree_store_set (GTK_TREE_STORE (tree_model), iter,
- EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL, page_label,
- -1);
-
- g_free (page_label);
-
- g_object_unref (link);
- return FALSE;
-}
-
/* Public Functions */
GtkWidget *
if (link) {
int current_page;
int dest_page;
+ EvDocumentLinks *document_links = EV_DOCUMENT_LINKS (sidebar_links->priv->document);
- dest_page = ev_link_get_page (link);
+ dest_page = ev_document_links_get_link_page (document_links, link);
g_object_unref (link);
current_page = ev_document_model_get_page (sidebar_links->priv->doc_model);
GtkTreeIter iter;
/* Widget is not currently visible */
- if (!GTK_WIDGET_MAPPED (sidebar_links))
+ if (!gtk_widget_get_mapped (GTK_WIDGET (sidebar_links)))
return;
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (sidebar_links->priv->tree_view));
-1);
if (link) {
gint dest_page;
+ EvDocumentLinks *document_links = EV_DOCUMENT_LINKS (sidebar_links->priv->document);
- dest_page = ev_link_get_page (link);
+ dest_page = ev_document_links_get_link_page (document_links, link);
g_object_unref (link);
if (dest_page == current_page)
ev_sidebar_links_set_links_model (sidebar_links, job->model);
- gtk_tree_model_foreach (priv->model, (GtkTreeModelForeachFunc)fill_page_labels, sidebar_links);
-
gtk_tree_view_set_model (GTK_TREE_VIEW (priv->tree_view), job->model);
g_object_unref (job);
}
static void
-ev_sidebar_links_page_iface_init (EvSidebarPageIface *iface)
+ev_sidebar_links_page_iface_init (EvSidebarPageInterface *iface)
{
iface->support_document = ev_sidebar_links_support_document;
iface->set_model = ev_sidebar_links_set_model;