summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2014-06-16 16:08:13 -0400
committerShaun McCance <shaunm@gnome.org>2014-06-16 16:08:13 -0400
commited63b3e6c7c9decf35284907644234bbde3d99f2 (patch)
treec7fbd4ed32826b8d7fe7ec1e44a5a27c58dd683d
parentd5c5d89d09369c348e4be4a41f1f692297efe222 (diff)
downloadyelp-ed63b3e6c7c9decf35284907644234bbde3d99f2.tar.gz
Removed read later
-rw-r--r--src/yelp-application.c94
-rw-r--r--src/yelp-application.h9
-rw-r--r--src/yelp-window.c221
3 files changed, 11 insertions, 313 deletions
diff --git a/src/yelp-application.c b/src/yelp-application.c
index 0a730125..42deb074 100644
--- a/src/yelp-application.c
+++ b/src/yelp-application.c
@@ -43,7 +43,6 @@
static gboolean editor_mode = FALSE;
enum {
- READ_LATER_CHANGED,
LAST_SIGNAL
};
static gint signals[LAST_SIGNAL] = { 0 };
@@ -99,9 +98,6 @@ static void application_set_font_sensitivity (YelpApplication *a
static void bookmarks_changed (GSettings *settings,
const gchar *key,
YelpApplication *app);
-static void readlater_changed (GSettings *settings,
- const gchar *key,
- YelpApplication *app);
static gboolean window_resized (YelpWindow *window,
YelpApplication *app);
@@ -161,14 +157,6 @@ yelp_application_class_init (YelpApplicationClass *klass)
object_class->dispose = yelp_application_dispose;
object_class->finalize = yelp_application_finalize;
- signals[READ_LATER_CHANGED] =
- g_signal_new ("read-later-changed",
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__STRING,
- G_TYPE_NONE, 1, G_TYPE_STRING);
-
g_type_class_add_private (klass, sizeof (YelpApplicationPrivate));
}
@@ -533,8 +521,6 @@ application_get_doc_settings (YelpApplication *app, const gchar *doc_uri)
g_object_set_data ((GObject *) settings, "doc_uri", key);
g_signal_connect (settings, "changed::bookmarks",
G_CALLBACK (bookmarks_changed), app);
- g_signal_connect (settings, "changed::readlater",
- G_CALLBACK (readlater_changed), app);
g_free (settings_path);
}
return settings;
@@ -700,76 +686,6 @@ yelp_application_get_bookmarks (YelpApplication *app,
return g_settings_get_value (settings, "bookmarks");
}
-void
-yelp_application_add_read_later (YelpApplication *app,
- const gchar *doc_uri,
- const gchar *full_uri,
- const gchar *title)
-{
- GSettings *settings;
-
- settings = application_get_doc_settings (app, doc_uri);
-
- if (settings) {
- GVariantBuilder builder;
- GVariantIter *iter;
- gchar *this_uri, *this_title;
- gboolean broken = FALSE;
- g_settings_get (settings, "readlater", "a(ss)", &iter);
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
- while (g_variant_iter_loop (iter, "(&s&s)", &this_uri, &this_title)) {
- if (g_str_equal (full_uri, this_uri)) {
- /* Already have this link */
- broken = TRUE;
- break;
- }
- g_variant_builder_add (&builder, "(ss)", this_uri, this_title);
- }
- g_variant_iter_free (iter);
-
- if (!broken) {
- GVariant *value;
- g_variant_builder_add (&builder, "(ss)", full_uri, title);
- value = g_variant_builder_end (&builder);
- g_settings_set_value (settings, "readlater", value);
- }
- }
-}
-
-void
-yelp_application_remove_read_later (YelpApplication *app,
- const gchar *doc_uri,
- const gchar *full_uri)
-{
- GSettings *settings;
-
- settings = application_get_doc_settings (app, doc_uri);
-
- if (settings) {
- GVariantBuilder builder;
- GVariantIter *iter;
- gchar *this_uri, *this_title;
- g_settings_get (settings, "readlater", "a(ss)", &iter);
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a(ss)"));
- while (g_variant_iter_loop (iter, "(&s&s)", &this_uri, &this_title)) {
- if (!g_str_equal (this_uri, full_uri))
- g_variant_builder_add (&builder, "(ss)", this_uri, this_title);
- }
- g_variant_iter_free (iter);
-
- g_settings_set_value (settings, "readlater", g_variant_builder_end (&builder));
- }
-}
-
-GVariant *
-yelp_application_get_read_later (YelpApplication *app,
- const gchar *doc_uri)
-{
- GSettings *settings = application_get_doc_settings (app, doc_uri);
-
- return g_settings_get_value (settings, "readlater");
-}
-
static void
bookmarks_changed (GSettings *settings,
const gchar *key,
@@ -780,16 +696,6 @@ bookmarks_changed (GSettings *settings,
g_signal_emit_by_name (app, "bookmarks-changed", doc_uri);
}
-static void
-readlater_changed (GSettings *settings,
- const gchar *key,
- YelpApplication *app)
-{
- const gchar *doc_uri = g_object_get_data ((GObject *) settings, "doc_uri");
- if (doc_uri)
- g_signal_emit (app, signals[READ_LATER_CHANGED], 0, doc_uri);
-}
-
static gboolean
window_resized (YelpWindow *window,
YelpApplication *app)
diff --git a/src/yelp-application.h b/src/yelp-application.h
index e89bacdb..25bcb178 100644
--- a/src/yelp-application.h
+++ b/src/yelp-application.h
@@ -69,14 +69,5 @@ void yelp_application_update_bookmarks (YelpApplication *app,
const gchar *title);
GVariant * yelp_application_get_bookmarks (YelpApplication *app,
const gchar *doc_uri);
-void yelp_application_add_read_later (YelpApplication *app,
- const gchar *doc_uri,
- const gchar *full_uri,
- const gchar *title);
-void yelp_application_remove_read_later (YelpApplication *app,
- const gchar *doc_uri,
- const gchar *full_uri);
-GVariant * yelp_application_get_read_later (YelpApplication *app,
- const gchar *doc_uri);
#endif /* __YELP_APPLICATION_H__ */
diff --git a/src/yelp-window.c b/src/yelp-window.c
index 737a4584..d13d936e 100644
--- a/src/yelp-window.c
+++ b/src/yelp-window.c
@@ -82,13 +82,10 @@ static void window_go_all (GtkAction *action,
YelpWindow *window);
static void window_open_location (GtkAction *action,
YelpWindow *window);
-static void window_read_later (GtkAction *action,
- YelpWindow *window);
-static gboolean read_later_clicked (GtkLinkButton *button,
- YelpWindow *window);
-static void app_read_later_changed (YelpApplication *app,
- const gchar *doc_uri,
- YelpWindow *window);
+
+
+
+
static void app_bookmarks_changed (YelpApplication *app,
const gchar *doc_uri,
YelpWindow *window);
@@ -102,9 +99,6 @@ static void action_new_window (GSimpleAction *action,
static void action_close_window (GSimpleAction *action,
GVariant *parameter,
gpointer userdata);
-static void action_print (GSimpleAction *action,
- GVariant *parameter,
- gpointer userdata);
static void action_search (GSimpleAction *action,
GVariant *parameter,
gpointer userdata);
@@ -134,17 +128,14 @@ static void view_uri_selected (YelpView *view,
static void view_root_title (YelpView *view,
GParamSpec *pspec,
YelpWindow *window);
-static gboolean view_is_xref_uri (YelpView *view,
- GtkAction *action,
- const gchar *uri,
- YelpWindow *window);
-
+#if 0
static void hidden_entry_activate (GtkEntry *entry,
YelpWindow *window);
static void hidden_entry_hide (YelpWindow *window);
static gboolean hidden_key_press (GtkWidget *widget,
GdkEventKey *event,
YelpWindow *window);
+#endif
enum {
PROP_0,
@@ -188,7 +179,6 @@ struct _YelpWindowPrivate {
YelpApplication *application;
gulong bookmarks_changed;
- gulong read_later_changed;
/* no refs on these, owned by containers */
GtkWidget *header;
@@ -206,12 +196,6 @@ struct _YelpWindowPrivate {
YelpView *view;
GtkWidget *hidden_entry;
- GtkWidget *read_later_vbox;
-
- /* refs because we dynamically add & remove */
- GtkWidget *align_location;
- GtkWidget *align_hidden;
- GtkWidget *read_later;
gchar *doc_uri;
@@ -277,26 +261,11 @@ yelp_window_dispose (GObject *object)
{
YelpWindowPrivate *priv = GET_PRIV (object);
- if (priv->read_later_changed) {
- g_source_remove (priv->read_later_changed);
- priv->read_later_changed = 0;
- }
-
if (priv->bookmarks_changed) {
g_source_remove (priv->bookmarks_changed);
priv->bookmarks_changed = 0;
}
- if (priv->align_location) {
- g_object_unref (priv->align_location);
- priv->align_location = NULL;
- }
-
- if (priv->align_hidden) {
- g_object_unref (priv->align_hidden);
- priv->align_hidden = NULL;
- }
-
G_OBJECT_CLASS (yelp_window_parent_class)->dispose (object);
}
@@ -347,9 +316,7 @@ static void
window_construct (YelpWindow *window)
{
GtkWidget *scroll;
- GtkAction *action;
GtkWidget *box, *button;
- gchar *color, *text;
GMenu *menu, *section;
YelpWindowPrivate *priv = GET_PRIV (window);
gboolean rtl;
@@ -370,15 +337,6 @@ window_construct (YelpWindow *window)
entries, G_N_ELEMENTS (entries), window);
yelp_view_register_actions (priv->view, G_ACTION_MAP (window));
- action = gtk_action_new ("ReadLinkLater", _("Read Link _Later"), NULL, NULL);
- g_signal_connect (action, "activate", G_CALLBACK (window_read_later), window);
- yelp_view_add_link_action (priv->view, action,
- (YelpViewActionValidFunc) view_is_xref_uri,
- window);
- priv->read_later_changed =
- g_signal_connect (priv->application, "read-later-changed",
- G_CALLBACK (app_read_later_changed), window);
-
priv->vbox_full = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3);
gtk_container_add (GTK_CONTAINER (window), priv->vbox_full);
@@ -439,9 +397,8 @@ window_construct (YelpWindow *window)
g_menu_append (section, _("Next Page"), "win.yelp-view-go-next");
g_menu_append_section (menu, NULL, G_MENU_MODEL (section));
g_object_unref (section);
+ /* FIXME */
/* all documents */
- /* larger/smaller text */
- /* show text cursor */
/* open location */
gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), G_MENU_MODEL (menu));
@@ -467,7 +424,8 @@ window_construct (YelpWindow *window)
G_BINDING_BIDIRECTIONAL);
gtk_header_bar_pack_end (GTK_HEADER_BAR (priv->header), button);
- g_signal_connect_swapped (window, "key-press-event", gtk_search_bar_handle_event, priv->search_bar);
+ g_signal_connect_swapped (window, "key-press-event",
+ G_CALLBACK (gtk_search_bar_handle_event), priv->search_bar);
/** Bookmarks **/
button = gtk_menu_button_new ();
@@ -553,24 +511,6 @@ window_construct (YelpWindow *window)
GTK_POLICY_AUTOMATIC);
gtk_box_pack_start (GTK_BOX (priv->vbox_view), scroll, TRUE, TRUE, 0);
- /** Read Later **/
- priv->read_later = g_object_ref_sink (gtk_info_bar_new ());
- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- color = yelp_settings_get_color (yelp_settings_get_default (),
- YELP_SETTINGS_COLOR_TEXT_LIGHT);
- text = g_markup_printf_escaped ("<span weight='bold' color='%s'>%s</span>",
- color, _("Read Later"));
- button = gtk_label_new (text);
- g_object_set (button, "use-markup", TRUE, "xalign", 0.0, NULL);
- g_free (color);
- g_free (text);
- gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (gtk_info_bar_get_content_area (GTK_INFO_BAR (priv->read_later))),
- box,
- FALSE, FALSE, 0);
- priv->read_later_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
- gtk_box_pack_start (GTK_BOX (box), priv->read_later_vbox, FALSE, FALSE, 0);
-
g_signal_connect (priv->view, "new-view-requested", G_CALLBACK (view_new_window), window);
g_signal_connect (priv->view, "loaded", G_CALLBACK (view_loaded), window);
g_signal_connect (priv->view, "notify::yelp-uri", G_CALLBACK (view_uri_selected), window);
@@ -994,7 +934,6 @@ window_open_location (GtkAction *action, YelpWindow *window)
gchar *color;
YelpWindowPrivate *priv = GET_PRIV (window);
- gtk_widget_show_all (priv->align_hidden);
gtk_entry_set_text (GTK_ENTRY (priv->hidden_entry), "");
gtk_widget_grab_focus (priv->hidden_entry);
@@ -1025,127 +964,6 @@ window_open_location (GtkAction *action, YelpWindow *window)
#endif
}
-static void
-read_later_resolved (YelpUri *uri,
- YelpWindow *window)
-{
- gchar *fulluri;
- const gchar *text = (const gchar *) g_object_get_data ((GObject *) uri, "link-text");
- YelpWindowPrivate *priv = GET_PRIV (window);
- YelpUri *base;
- gchar *doc_uri;
-
- g_object_get (priv->view, "yelp-uri", &base, NULL);
- doc_uri = yelp_uri_get_document_uri (uri);
- fulluri = yelp_uri_get_canonical_uri (uri);
-
- yelp_application_add_read_later (priv->application, doc_uri, fulluri, text);
-
- g_object_unref (base);
- g_free (doc_uri);
- g_free (fulluri);
-}
-
-static void
-window_read_later (GtkAction *action,
- YelpWindow *window)
-{
- YelpWindowPrivate *priv = GET_PRIV (window);
- YelpUri *uri;
- gchar *text;
-
- uri = yelp_view_get_active_link_uri (priv->view);
- text = yelp_view_get_active_link_text (priv->view);
-
- g_object_set_data_full ((GObject *) uri, "link-text", text, g_free);
-
- if (!yelp_uri_is_resolved (uri)) {
- g_signal_connect (uri, "resolved",
- G_CALLBACK (read_later_resolved),
- window);
- yelp_uri_resolve (uri);
- }
- else {
- read_later_resolved (uri, window);
- }
-}
-
-static gboolean
-read_later_clicked (GtkLinkButton *button,
- YelpWindow *window)
-{
- YelpWindowPrivate *priv = GET_PRIV (window);
- YelpUri *base;
- gchar *doc_uri;
- gchar *fulluri;
-
- fulluri = g_strdup (gtk_link_button_get_uri (button));
-
- g_object_get (priv->view, "yelp-uri", &base, NULL);
- doc_uri = yelp_uri_get_document_uri (base);
-
- yelp_application_remove_read_later (priv->application, doc_uri, fulluri);
-
- g_object_unref (base);
- g_free (doc_uri);
-
- yelp_view_load (priv->view, fulluri);
-
- g_free (fulluri);
- return TRUE;
-}
-
-static void
-app_read_later_changed (YelpApplication *app,
- const gchar *doc_uri,
- YelpWindow *window)
-{
- GVariant *value;
- GVariantIter *viter;
- gchar *uri, *title; /* do not free */
- GList *children;
- gboolean has_children = FALSE;
- YelpWindowPrivate *priv = GET_PRIV (window);
-
- children = gtk_container_get_children (GTK_CONTAINER (priv->read_later_vbox));
- while (children) {
- gtk_container_remove (GTK_CONTAINER (priv->read_later_vbox),
- GTK_WIDGET (children->data));
- children = g_list_delete_link (children, children);
- }
-
- value = yelp_application_get_read_later (priv->application, doc_uri);
- g_variant_get (value, "a(ss)", &viter);
- while (g_variant_iter_loop (viter, "(&s&s)", &uri, &title)) {
- GtkWidget *align, *link;
-
- align = gtk_alignment_new (0.0, 0.0, 0.0, 0.0);
- g_object_set (align, "left-padding", 6, NULL);
- gtk_box_pack_start (GTK_BOX (priv->read_later_vbox), align, FALSE, FALSE, 0);
-
- link = gtk_link_button_new_with_label (uri, title);
- g_object_set (link, "xalign", 0.0, NULL);
- g_signal_connect (link, "activate-link", G_CALLBACK (read_later_clicked), window);
- gtk_container_add (GTK_CONTAINER (align), link);
-
- gtk_widget_show_all (align);
- has_children = TRUE;
- }
- g_variant_iter_free (viter);
- g_variant_unref (value);
-
- if (has_children) {
- if (gtk_widget_get_parent (priv->read_later) == NULL) {
- gtk_box_pack_end (GTK_BOX (priv->vbox_full), priv->read_later, FALSE, FALSE, 0);
- gtk_widget_show_all (priv->read_later);
- }
- }
- else {
- if (gtk_widget_get_parent (priv->read_later) != NULL)
- gtk_container_remove (GTK_CONTAINER (priv->vbox_full), priv->read_later);
- }
-}
-
static gboolean
find_entry_key_press (GtkEntry *entry,
GdkEventKey *event,
@@ -1262,7 +1080,6 @@ view_loaded (YelpView *view,
page_id,
icon,
title);
- app_read_later_changed (priv->application, doc_uri, window);
g_free (page_id);
g_free (icon);
g_free (title);
@@ -1305,15 +1122,6 @@ view_uri_selected (YelpView *view,
g_object_unref (uri);
}
-static gboolean
-view_is_xref_uri (YelpView *view,
- GtkAction *action,
- const gchar *uri,
- YelpWindow *window)
-{
- return g_str_has_prefix (uri, "xref:");
-}
-
static void
view_root_title (YelpView *view,
GParamSpec *pspec,
@@ -1338,6 +1146,7 @@ view_root_title (YelpView *view,
}
}
+#if 0
static void
hidden_entry_activate (GtkEntry *entry,
YelpWindow *window)
@@ -1356,15 +1165,6 @@ hidden_entry_hide (YelpWindow *window)
{
YelpWindowPrivate *priv = GET_PRIV (window);
- if (gtk_widget_get_parent (priv->align_hidden) != NULL) {
-#if 0
- gtk_container_remove (GTK_CONTAINER (priv->hbox),
- priv->align_hidden);
- gtk_box_pack_start (GTK_BOX (priv->hbox),
- priv->align_location,
- TRUE, TRUE, 0);
-#endif
- }
}
static gboolean
@@ -1379,3 +1179,4 @@ hidden_key_press (GtkWidget *widget,
}
return FALSE;
}
+#endif