Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
ximper-welcome
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ximper Linux
ximper-welcome
Commits
a406830a
Commit
a406830a
authored
Jul 13, 2020
by
Bilal Elmoussaoui
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'wip/exalm/ui-cleanups' into 'master'
Some UI cleanups See merge request GNOME/gnome-tour!9
parents
8cad6e3a
aca427aa
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
22 deletions
+35
-22
application.rs
src/application.rs
+1
-0
welcome.rs
src/widgets/pages/welcome.rs
+4
-4
paginator.rs
src/widgets/paginator.rs
+30
-18
No files found.
src/application.rs
View file @
a406830a
...
@@ -80,6 +80,7 @@ impl Application {
...
@@ -80,6 +80,7 @@ impl Application {
fn
setup_signals
(
&
self
,
app
:
Rc
<
Self
>
)
{
fn
setup_signals
(
&
self
,
app
:
Rc
<
Self
>
)
{
self
.app
.connect_startup
(
clone!
(
@
weak
app
=>
move
|
_
|
{
self
.app
.connect_startup
(
clone!
(
@
weak
app
=>
move
|
_
|
{
libhandy
::
init
();
app
.setup_css
();
app
.setup_css
();
app
.setup_gactions
(
app
.clone
());
app
.setup_gactions
(
app
.clone
());
}));
}));
...
...
src/widgets/pages/welcome.rs
View file @
a406830a
...
@@ -48,17 +48,17 @@ impl WelcomePageWidget {
...
@@ -48,17 +48,17 @@ impl WelcomePageWidget {
actions_container
.set_halign
(
gtk
::
Align
::
Center
);
actions_container
.set_halign
(
gtk
::
Align
::
Center
);
actions_container
.set_margin_top
(
36
);
actions_container
.set_margin_top
(
36
);
let
start_tour_btn
=
gtk
::
Button
::
new
();
let
start_tour_btn
=
gtk
::
Button
::
with_label
(
&
gettext
(
"_Take the Tour"
));
start_tour_btn
.add
(
&
gtk
::
Label
::
new
(
Some
(
&
gettext
(
"Take the Tour"
))));
start_tour_btn
.get_style_context
()
.add_class
(
"suggested-action"
);
start_tour_btn
.get_style_context
()
.add_class
(
"suggested-action"
);
start_tour_btn
.set_property_height_request
(
40
);
start_tour_btn
.set_property_height_request
(
40
);
start_tour_btn
.set_property_width_request
(
180
);
start_tour_btn
.set_property_width_request
(
180
);
start_tour_btn
.set_use_underline
(
true
);
start_tour_btn
.set_action_name
(
Some
(
"app.start-tour"
));
start_tour_btn
.set_action_name
(
Some
(
"app.start-tour"
));
let
skip_tour_btn
=
gtk
::
Button
::
new
();
let
skip_tour_btn
=
gtk
::
Button
::
with_label
(
&
gettext
(
"_No Thanks"
));
skip_tour_btn
.add
(
&
gtk
::
Label
::
new
(
Some
(
&
gettext
(
"No Thanks"
))));
skip_tour_btn
.set_property_height_request
(
40
);
skip_tour_btn
.set_property_height_request
(
40
);
skip_tour_btn
.set_property_width_request
(
180
);
skip_tour_btn
.set_property_width_request
(
180
);
skip_tour_btn
.set_use_underline
(
true
);
skip_tour_btn
.set_action_name
(
Some
(
"app.skip-tour"
));
skip_tour_btn
.set_action_name
(
Some
(
"app.skip-tour"
));
actions_container
.add
(
&
skip_tour_btn
);
actions_container
.add
(
&
skip_tour_btn
);
...
...
src/widgets/paginator.rs
View file @
a406830a
...
@@ -14,6 +14,7 @@ pub struct PaginatorWidget {
...
@@ -14,6 +14,7 @@ pub struct PaginatorWidget {
pages
:
RefCell
<
Vec
<
Box
<
dyn
Pageable
>>>
,
pages
:
RefCell
<
Vec
<
Box
<
dyn
Pageable
>>>
,
current_page
:
RefCell
<
u32
>
,
current_page
:
RefCell
<
u32
>
,
next_btn
:
gtk
::
Button
,
next_btn
:
gtk
::
Button
,
close_btn
:
gtk
::
Button
,
}
}
impl
PaginatorWidget
{
impl
PaginatorWidget
{
...
@@ -24,7 +25,8 @@ impl PaginatorWidget {
...
@@ -24,7 +25,8 @@ impl PaginatorWidget {
widget
,
widget
,
carousel
:
libhandy
::
Carousel
::
new
(),
carousel
:
libhandy
::
Carousel
::
new
(),
headerbar
:
libhandy
::
HeaderBar
::
new
(),
headerbar
:
libhandy
::
HeaderBar
::
new
(),
next_btn
:
gtk
::
Button
::
new
(),
next_btn
:
gtk
::
Button
::
with_label
(
&
gettext
(
"_Next"
)),
close_btn
:
gtk
::
Button
::
with_label
(
&
gettext
(
"_Close"
)),
pages
:
RefCell
::
new
(
Vec
::
new
()),
pages
:
RefCell
::
new
(
Vec
::
new
()),
current_page
:
RefCell
::
new
(
0
),
current_page
:
RefCell
::
new
(
0
),
});
});
...
@@ -60,35 +62,45 @@ impl PaginatorWidget {
...
@@ -60,35 +62,45 @@ impl PaginatorWidget {
self
.carousel
.set_property_expand
(
true
);
self
.carousel
.set_property_expand
(
true
);
self
.carousel
.set_animation_duration
(
300
);
self
.carousel
.set_animation_duration
(
300
);
self
.carousel
.connect_page_changed
(
clone!
(
@
weak
p
=>
move
|
carousel
,
page_nr
|
{
self
.carousel
.connect_property_position_notify
(
clone!
(
@
weak
p
=>
move
|
carousel
|
{
let
n_pages
=
carousel
.get_n_pages
()
as
f64
;
let
position
=
carousel
.get_position
();
let
opacity
=
(
position
-
n_pages
+
2
_f64
)
.max
(
0
_f64
);
p
.close_btn
.set_opacity
(
opacity
);
p
.close_btn
.set_visible
(
opacity
>
0
_f64
);
let
page_nr
=
position
.round
()
as
u32
;
let
pages
=
&
p
.pages
.borrow
();
let
pages
=
&
p
.pages
.borrow
();
let
page
=
pages
.get
(
page_nr
as
usize
)
.unwrap
();
let
page
=
pages
.get
(
page_nr
as
usize
)
.unwrap
();
p
.headerbar
.set_title
(
Some
(
&
page
.get_title
()));
if
page_nr
==
carousel
.get_n_pages
()
-
1
{
p
.headerbar
.set_title
(
Some
(
&
page
.get_title
()));
p
.next_btn
.set_label
(
&
gettext
(
"Close"
));
}
else
{
p
.next_btn
.set_label
(
&
gettext
(
"Next"
));
}
p
.current_page
.replace
(
page_nr
);
p
.current_page
.replace
(
page_nr
);
}));
}));
let
previous_btn
=
gtk
::
Button
::
new
();
let
previous_btn
=
gtk
::
Button
::
with_label
(
&
gettext
(
"_Previous"
));
previous_btn
.add
(
&
gtk
::
Label
::
new
(
Some
(
"Previous"
)));
previous_btn
.set_use_underline
(
true
);
previous_btn
.set_halign
(
gtk
::
Align
::
Start
);
previous_btn
.set_action_name
(
Some
(
"app.previous-page"
));
previous_btn
.set_action_name
(
Some
(
"app.previous-page"
));
previous_btn
.set_hexpand
(
true
);
previous_btn
.set_property_width_request
(
60
);
self
.next_btn
.add
(
&
gtk
::
Label
::
new
(
Some
(
&
gettext
(
"Next"
))));
let
btn_size_group
=
gtk
::
SizeGroup
::
new
(
gtk
::
SizeGroupMode
::
Horizontal
);
btn_size_group
.add_widget
(
&
previous_btn
);
btn_size_group
.add_widget
(
&
self
.next_btn
);
btn_size_group
.add_widget
(
&
self
.close_btn
);
self
.next_btn
.get_style_context
()
.add_class
(
"suggested-action"
);
self
.next_btn
.get_style_context
()
.add_class
(
"suggested-action"
);
self
.next_btn
.set_use_underline
(
true
);
self
.next_btn
.set_action_name
(
Some
(
"app.next-page"
));
self
.next_btn
.set_action_name
(
Some
(
"app.next-page"
));
self
.next_btn
.set_halign
(
gtk
::
Align
::
End
);
self
.next_btn
.set_hexpand
(
true
);
self
.close_btn
.get_style_context
()
.add_class
(
"suggested-action"
);
self
.next_btn
.set_property_width_request
(
60
);
self
.close_btn
.set_use_underline
(
true
);
self
.close_btn
.set_action_name
(
Some
(
"app.next-page"
));
let
next_overlay
=
gtk
::
Overlay
::
new
();
next_overlay
.add
(
&
self
.next_btn
);
next_overlay
.add_overlay
(
&
self
.close_btn
);
self
.headerbar
.pack_start
(
&
previous_btn
);
self
.headerbar
.pack_start
(
&
previous_btn
);
self
.headerbar
.pack_end
(
&
self
.next_btn
);
self
.headerbar
.pack_end
(
&
next_overlay
);
self
.headerbar
.set_show_close_button
(
false
);
self
.headerbar
.set_show_close_button
(
false
);
self
.widget
.add
(
&
self
.headerbar
);
self
.widget
.add
(
&
self
.headerbar
);
...
...
Write
Preview
Markdown
is supported
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