has_properties = FALSE;
}
- if (has_document && ev_document_can_get_text (document)) {
+ if (has_document && EV_IS_SELECTION (document)) {
can_get_text = TRUE;
}
} else {
priv->chrome &= ~flag;
}
-
- update_chrome_visibility (window);
}
static void
if (ev_metadata_manager_get (uri, "sidebar_visibility", &sidebar_visibility, FALSE)) {
update_chrome_flag (window, EV_CHROME_SIDEBAR, g_value_get_boolean (&sidebar_visibility));
g_value_unset (&sidebar_visibility);
+ update_chrome_visibility (window);
}
}
gdouble width;
gdouble height;
GtkPrintPages print_pages;
- EvFileExporterOrientation orientation = EV_FILE_EXPORTER_PORTRAIT;
const gchar *file_format;
if (response == GTK_RESPONSE_CANCEL) {
scale = gtk_print_settings_get_scale (window->priv->print_settings) * 0.01;
width = gtk_page_setup_get_paper_width (window->priv->print_page_setup,
- GTK_UNIT_PIXEL);
+ GTK_UNIT_POINTS);
height = gtk_page_setup_get_paper_height (window->priv->print_page_setup,
- GTK_UNIT_PIXEL);
+ GTK_UNIT_POINTS);
- switch (gtk_page_setup_get_orientation (window->priv->print_page_setup)) {
- case GTK_PAGE_ORIENTATION_PORTRAIT:
- case GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT:
- orientation = EV_FILE_EXPORTER_PORTRAIT;
- break;
- case GTK_PAGE_ORIENTATION_LANDSCAPE:
- case GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE:
- orientation = EV_FILE_EXPORTER_LANDSCAPE;
- break;
- }
-
if (scale != 1.0) {
width *= scale;
height *= scale;
window->priv->print_job = ev_job_print_new (window->priv->document,
file_format ? file_format : "ps",
width, height,
- orientation,
ranges, n_ranges,
page_set,
pages_per_sheet,
update_chrome_flag (window, EV_CHROME_RAISE_TOOLBAR, TRUE);
ev_window_set_action_sensitive (window, "ViewToolbar", FALSE);
+ update_chrome_visibility (window);
action = gtk_action_group_get_action (window->priv->action_group,
PAGE_SELECTOR_ACTION);
}
update_chrome_flag (ev_window, EV_CHROME_FINDBAR, TRUE);
+ update_chrome_visibility (ev_window);
gtk_widget_grab_focus (ev_window->priv->find_bar);
}
{
g_return_if_fail (EV_IS_WINDOW (ev_window));
+ update_chrome_flag (ev_window, EV_CHROME_FINDBAR, TRUE);
+ update_chrome_visibility (ev_window);
+ gtk_widget_grab_focus (ev_window->priv->find_bar);
ev_view_find_next (EV_VIEW (ev_window->priv->view));
}
{
g_return_if_fail (EV_IS_WINDOW (ev_window));
+ update_chrome_flag (ev_window, EV_CHROME_FINDBAR, TRUE);
+ update_chrome_visibility (ev_window);
+ gtk_widget_grab_focus (ev_window->priv->find_bar);
ev_view_find_previous (EV_VIEW (ev_window->priv->view));
}
widget = gtk_window_get_focus (GTK_WINDOW (window));
if (widget && gtk_widget_get_ancestor (widget, EGG_TYPE_FIND_BAR)) {
update_chrome_flag (window, EV_CHROME_FINDBAR, FALSE);
+ update_chrome_visibility (window);
gtk_widget_grab_focus (window->priv->view);
} else {
gboolean fullscreen;
active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
update_chrome_flag (ev_window, EV_CHROME_TOOLBAR, active);
+ update_chrome_visibility (ev_window);
ev_metadata_manager_set_boolean (NULL, "show_toolbar", active);
}
update_chrome_flag (ev_window, EV_CHROME_SIDEBAR,
gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
+ update_chrome_visibility (ev_window);
}
static void
EvWindow *ev_window)
{
update_chrome_flag (ev_window, EV_CHROME_FINDBAR, FALSE);
+ update_chrome_visibility (ev_window);
}
static void
EvWindow *ev_window)
{
gboolean case_sensitive;
- gboolean visible;
const char *search_string;
- /* Either the string or case sensitivity could have changed,
- * we connect this callback to both. We also connect it
- * to ::visible so when the find bar is hidden, we should
- * pretend the search string is NULL/""
- */
+ /* Either the string or case sensitivity could have changed. */
case_sensitive = egg_find_bar_get_case_sensitive (find_bar);
- visible = GTK_WIDGET_VISIBLE (find_bar);
search_string = egg_find_bar_get_search_string (find_bar);
ev_view_search_changed (EV_VIEW(ev_window->priv->view));
if (ev_window->priv->document &&
EV_IS_DOCUMENT_FIND (ev_window->priv->document)) {
- if (visible && search_string && search_string[0]) {
+ if (search_string && search_string[0]) {
ev_document_doc_mutex_lock ();
ev_document_find_begin (EV_DOCUMENT_FIND (ev_window->priv->document),
ev_page_cache_get_current_page (ev_window->priv->page_cache),
}
}
+static void
+find_bar_visibility_changed_cb (EggFindBar *find_bar,
+ GParamSpec *param,
+ EvWindow *ev_window)
+{
+ gboolean visible;
+
+ visible = GTK_WIDGET_VISIBLE (find_bar);
+
+ if (ev_window->priv->document &&
+ EV_IS_DOCUMENT_FIND (ev_window->priv->document)) {
+ ev_view_set_highlight_search (EV_VIEW(ev_window->priv->view), visible);
+ ev_view_search_changed (EV_VIEW(ev_window->priv->view));
+ ev_window_update_actions (ev_window);
+
+ if (!visible)
+ egg_find_bar_set_status_text (EGG_FIND_BAR (ev_window->priv->find_bar), NULL);
+ }
+}
+
static void
find_bar_scroll(EggFindBar *find_bar, GtkScrollType scroll, EvWindow* ev_window)
{
ev_window_set_view_accels_sensitivity (window, TRUE);
+ update_chrome_visibility (window);
+
return FALSE;
}
ev_window);
g_signal_connect (ev_window->priv->find_bar,
"notify::visible",
- G_CALLBACK (find_bar_search_changed_cb),
+ G_CALLBACK (find_bar_visibility_changed_cb),
ev_window);
g_signal_connect (ev_window->priv->find_bar,
"scroll",