Skip to content
This repository was archived by the owner on Aug 30, 2021. It is now read-only.

Commit a38ec93

Browse files
author
Bart Zaalberg
committed
moved cancel button to a dynamic header button
1 parent 72de0b4 commit a38ec93

File tree

3 files changed

+43
-18
lines changed

3 files changed

+43
-18
lines changed

src/Components/BookmarkForm.vala

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,7 @@ public class BookmarkForm : Gtk.Grid{
2626
var agentForwardLabel = new BookmarkFormLabel ("Use agent forwarding:");
2727
var proxyCommandLabel = new BookmarkFormLabel ("Proxy command:");
2828

29-
var back_button = new Gtk.Button.with_label ("Back");
30-
back_button.margin_right = 6;
31-
back_button.clicked.connect (() => {
32-
stackManager.getStack().visible_child_name = "list-view";
33-
bookmarkListManager.getList().getBookmarks("");
34-
});
35-
3629
button_box.set_layout (Gtk.ButtonBoxStyle.END);
37-
button_box.pack_end (back_button);
3830
button_box.margin_left = 12;
3931
button_box.margin_bottom = 0;
4032

src/Components/HeaderBar.vala

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ public class HeaderBar : Gtk.HeaderBar {
66
StackManager stackManager = StackManager.get_instance();
77
BookmarkListManager bookmarkListManager = BookmarkListManager.get_instance();
88
public Gtk.SearchEntry searchEntry = new Gtk.SearchEntry ();
9+
Gtk.Button return_button = new Gtk.Button ();
10+
Gtk.Button add_button = new Gtk.Button.from_icon_name ("document-new", Gtk.IconSize.LARGE_TOOLBAR);
11+
Gtk.MenuButton menu_button = new Gtk.MenuButton ();
912

1013
public HeaderBar(){
1114

@@ -14,11 +17,14 @@ public class HeaderBar : Gtk.HeaderBar {
1417
searchEntry.set_placeholder_text("Search Bookmarks");
1518
searchEntry.set_tooltip_text("Search for bookmarks");
1619
searchEntry.search_changed.connect (() => {
17-
bookmarkListManager.getList().getBookmarks(searchEntry.text);
20+
showReturnButton(false);
21+
showAddButton(true);
22+
bookmarkListManager.getList().getBookmarks(searchEntry.text);
1823
});
1924

20-
var add_button = generateAddButton();
21-
var menu_button = generateMenuButton();
25+
generateAddButton();
26+
generateMenuButton();
27+
generateReturnButton();
2228

2329
var cheatsheet = new Gtk.MenuItem.with_label ("Markdown Cheatsheet");
2430
cheatsheet.activate.connect (() => {
@@ -40,26 +46,49 @@ public class HeaderBar : Gtk.HeaderBar {
4046

4147
this.show_close_button = true;
4248
this.pack_start (add_button);
49+
this.pack_start (return_button);
4350
this.pack_end (menu_button);
4451
this.pack_end (searchEntry);
4552
}
4653

47-
private Gtk.MenuButton generateMenuButton(){
48-
var menu_button = new Gtk.MenuButton ();
54+
private void generateMenuButton(){
4955
menu_button.has_tooltip = true;
5056
menu_button.tooltip_text = ("Settings");
5157
menu_button.set_image (new Gtk.Image.from_icon_name ("open-menu", Gtk.IconSize.LARGE_TOOLBAR));
52-
return menu_button;
5358
}
5459

55-
private Gtk.Button generateAddButton(){
56-
var add_button = new Gtk.Button.from_icon_name ("document-new", Gtk.IconSize.LARGE_TOOLBAR);
60+
private void generateAddButton(){
5761
add_button.set_tooltip_text("Create a new bookmark");
5862
add_button.clicked.connect (() => {
59-
stackManager.getStack().visible_child_name = "add-bookmark-view";
63+
showReturnButton(true);
64+
showAddButton(false);
65+
stackManager.getStack().visible_child_name = "add-bookmark-view";
6066
});
67+
}
68+
69+
private void generateReturnButton(){
70+
return_button.label = "Back";
71+
return_button.no_show_all = true;
72+
return_button.get_style_context ().add_class ("back-button");
73+
return_button.visible = false;
74+
return_button.clicked.connect (() => {
75+
showReturnButton(false);
76+
showAddButton(true);
77+
stackManager.getStack().visible_child_name = "list-view";
78+
bookmarkListManager.getList().getBookmarks("");
79+
});
80+
}
81+
82+
public void showSearchEntry(bool answer){
83+
searchEntry.visible = answer;
84+
}
85+
86+
public void showAddButton(bool answer){
87+
add_button.visible = answer;
88+
}
6189

62-
return add_button;
90+
public void showReturnButton(bool answer){
91+
return_button.visible = answer;
6392
}
6493
}
6594
}

src/MainWindow.vala

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,15 @@ public class MainWindow : Gtk.Window{
3131
case Gdk.Key.a:
3232
if ((e.state & Gdk.ModifierType.CONTROL_MASK) != 0) {
3333
stackManager.getStack().visible_child_name = "add-bookmark-view";
34+
headerBar.showReturnButton(true);
35+
headerBar.showAddButton(false);
3436
}
3537
break;
3638
case Gdk.Key.l:
3739
if ((e.state & Gdk.ModifierType.CONTROL_MASK) != 0) {
3840
stackManager.getStack().visible_child_name = "list-view";
41+
headerBar.showReturnButton(false);
42+
headerBar.showAddButton(true);
3943
}
4044
break;
4145
case Gdk.Key.h:

0 commit comments

Comments
 (0)