@@ -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}
0 commit comments