Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
pwmt
zathura
Commits
9243fc05
Commit
9243fc05
authored
Feb 08, 2012
by
Moritz Lipp
Browse files
Merge branch 'develop' of pwmt.org:zathura into develop
parents
362e5025
a51183cd
Changes
4
Hide whitespace changes
Inline
Side-by-side
shortcuts.c
View file @
9243fc05
...
...
@@ -167,7 +167,6 @@ sc_goto(girara_session_t* session, girara_argument_t* argument, girara_event_t*
}
else
{
if
(
t
==
0
)
{
page_set
(
zathura
,
zathura
->
document
->
number_of_pages
-
1
);
return
true
;
}
else
{
page_set
(
zathura
,
t
-
1
);
}
...
...
@@ -359,24 +358,24 @@ sc_scroll(girara_session_t* session, girara_argument_t* argument,
switch
(
argument
->
n
)
{
case
FULL_UP
:
new_value
=
(
value
-
view_size
)
<
0
?
0
:
(
value
-
view_size
)
;
new_value
=
value
-
view_size
;
break
;
case
FULL_DOWN
:
new_value
=
(
value
+
view_size
)
>
max
?
max
:
(
value
+
view_size
)
;
new_value
=
value
+
view_size
;
break
;
case
HALF_UP
:
new_value
=
(
value
-
(
view_size
/
2
)
)
<
0
?
0
:
(
value
-
(
view_size
/
2
))
;
new_value
=
value
-
(
view_size
/
2
);
break
;
case
HALF_DOWN
:
new_value
=
(
value
+
(
view_size
/
2
)
)
>
max
?
max
:
(
value
+
(
view_size
/
2
))
;
new_value
=
value
+
(
view_size
/
2
);
break
;
case
LEFT
:
case
UP
:
new_value
=
(
value
-
scroll_step
)
<
0
?
0
:
(
value
-
scroll_step
)
;
new_value
=
value
-
scroll_step
;
break
;
case
RIGHT
:
case
DOWN
:
new_value
=
(
value
+
scroll_step
)
>
max
?
max
:
(
value
+
scroll_step
)
;
new_value
=
value
+
scroll_step
;
break
;
case
TOP
:
new_value
=
0
;
...
...
@@ -388,7 +387,7 @@ sc_scroll(girara_session_t* session, girara_argument_t* argument,
new_value
=
value
;
}
gtk
_adjustment
_set_value
(
adjustment
,
new_value
);
set
_adjustment
(
adjustment
,
new_value
);
return
false
;
}
...
...
@@ -466,8 +465,8 @@ sc_search(girara_session_t* session, girara_argument_t* argument,
int
x
=
offset
.
x
-
gtk_adjustment_get_page_size
(
view_hadjustment
)
/
2
+
rectangle
.
x1
;
int
y
=
offset
.
y
-
gtk_adjustment_get_page_size
(
view_vadjustment
)
/
2
+
rectangle
.
y1
;
gtk_adjustment_set_value
(
view_h
adjustment
,
MAX
(
view_hadjustment
->
lower
,
MIN
(
view_hadjustment
->
upper
-
view_hadjustment
->
page_size
,
x
)
))
;
gtk_adjustment_set_value
(
view_v
adjustment
,
MAX
(
view_vadjustment
->
lower
,
MIN
(
view_vadjustment
->
upper
-
view_vadjustment
->
page_size
,
y
)
))
;
set_
adjustment
(
view_hadjustment
,
x
);
set_
adjustment
(
view_vadjustment
,
y
);
}
return
false
;
...
...
@@ -741,6 +740,7 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t*
girara_setting_get
(
zathura
->
ui
.
session
,
"zoom-step"
,
&
value
);
float
zoom_step
=
value
/
100
.
0
f
;
float
oldzoom
=
zathura
->
document
->
scale
;
/* specify new zoom value */
if
(
argument
->
n
==
ZOOM_IN
)
{
...
...
@@ -748,7 +748,6 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t*
}
else
if
(
argument
->
n
==
ZOOM_OUT
)
{
zathura
->
document
->
scale
-=
zoom_step
;
}
else
if
(
argument
->
n
==
ZOOM_SPECIFIC
)
{
fprintf
(
stderr
,
"t: %d
\n
"
,
t
);
zathura
->
document
->
scale
=
t
/
100
.
0
f
;
}
else
{
zathura
->
document
->
scale
=
1
.
0
;
...
...
@@ -761,6 +760,14 @@ sc_zoom(girara_session_t* session, girara_argument_t* argument, girara_event_t*
zathura
->
document
->
scale
=
10
.
0
f
;
}
/* keep position */
GtkAdjustment
*
view_vadjustment
=
gtk_scrolled_window_get_vadjustment
(
GTK_SCROLLED_WINDOW
(
zathura
->
ui
.
session
->
gtk
.
view
));
GtkAdjustment
*
view_hadjustment
=
gtk_scrolled_window_get_hadjustment
(
GTK_SCROLLED_WINDOW
(
zathura
->
ui
.
session
->
gtk
.
view
));
gdouble
valx
=
gtk_adjustment_get_value
(
view_hadjustment
)
/
oldzoom
*
zathura
->
document
->
scale
;
gdouble
valy
=
gtk_adjustment_get_value
(
view_vadjustment
)
/
oldzoom
*
zathura
->
document
->
scale
;
set_adjustment
(
view_hadjustment
,
valx
);
set_adjustment
(
view_vadjustment
,
valy
);
render_all
(
zathura
);
return
false
;
...
...
utils.c
View file @
9243fc05
...
...
@@ -226,3 +226,9 @@ recalc_rectangle(zathura_page_t* page, zathura_rectangle_t rectangle)
return
tmp
;
}
void
set_adjustment
(
GtkAdjustment
*
adjustment
,
gdouble
value
)
{
gtk_adjustment_set_value
(
adjustment
,
MAX
(
adjustment
->
lower
,
MIN
(
adjustment
->
upper
-
adjustment
->
page_size
,
value
)));
}
utils.h
View file @
9243fc05
...
...
@@ -82,4 +82,11 @@ void page_calculate_offset(zathura_page_t* page, page_offset_t* offset);
*/
zathura_rectangle_t
recalc_rectangle
(
zathura_page_t
*
page
,
zathura_rectangle_t
rectangle
);
/**
* Set adjustment of a GtkAdjustment respecting its limits.
* @param adjust the GtkAdkustment instance
* @param value the new adjustment
*/
void
set_adjustment
(
GtkAdjustment
*
adjust
,
gdouble
value
);
#endif // UTILS_H
zathura.c
View file @
9243fc05
...
...
@@ -5,6 +5,7 @@
#include <stdlib.h>
#include <unistd.h>
#include <math.h>
#include <girara/datastructures.h>
#include <girara/utils.h>
...
...
@@ -576,8 +577,8 @@ page_set(zathura_t* zathura, unsigned int page_id)
GtkAdjustment
*
view_vadjustment
=
gtk_scrolled_window_get_vadjustment
(
GTK_SCROLLED_WINDOW
(
zathura
->
ui
.
session
->
gtk
.
view
));
GtkAdjustment
*
view_hadjustment
=
gtk_scrolled_window_get_hadjustment
(
GTK_SCROLLED_WINDOW
(
zathura
->
ui
.
session
->
gtk
.
view
));
gtk
_adjustment
_set_value
(
view_hadjustment
,
offset
.
x
);
gtk
_adjustment
_set_value
(
view_vadjustment
,
offset
.
y
);
set
_adjustment
(
view_hadjustment
,
offset
.
x
);
set
_adjustment
(
view_vadjustment
,
offset
.
y
);
return
true
;
...
...
@@ -616,7 +617,7 @@ page_widget_set_mode(zathura_t* zathura, unsigned int pages_per_row)
gtk_container_foreach
(
GTK_CONTAINER
(
zathura
->
ui
.
page_widget
),
remove_page_from_table
,
(
gpointer
)
0
);
gtk_table_resize
(
GTK_TABLE
(
zathura
->
ui
.
page_widget
),
zathura
->
document
->
number_of_pages
/
pages_per_row
+
1
,
pages_per_row
);
gtk_table_resize
(
GTK_TABLE
(
zathura
->
ui
.
page_widget
),
ceil
(
zathura
->
document
->
number_of_pages
/
pages_per_row
)
,
pages_per_row
);
for
(
unsigned
int
i
=
0
;
i
<
zathura
->
document
->
number_of_pages
;
i
++
)
{
int
x
=
i
%
pages_per_row
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment