|
|
@@ -169,10 +169,11 @@ BibliothecaWindow::BibliothecaWindow(DatabaseManager& db, BookList& bookList)
|
|
|
}
|
|
|
|
|
|
void BibliothecaWindow::buildHeaderBar() {
|
|
|
+ // Back button - tooltip serves as accessible label for icon-only buttons
|
|
|
m_backButton.set_icon_name("go-previous-symbolic");
|
|
|
m_backButton.set_has_frame(false);
|
|
|
m_backButton.add_css_class("flat");
|
|
|
- m_backButton.set_tooltip_text("Back");
|
|
|
+ m_backButton.set_tooltip_text("Go back to library");
|
|
|
m_backButton.signal_clicked().connect([this]() {
|
|
|
m_stack.set_visible_child("shelf");
|
|
|
// Restore search filter when returning from details
|
|
|
@@ -183,10 +184,11 @@ void BibliothecaWindow::buildHeaderBar() {
|
|
|
});
|
|
|
m_headerBar.pack_start(m_backButton);
|
|
|
|
|
|
+ // Search toggle button
|
|
|
m_searchButton.set_icon_name("system-search-symbolic");
|
|
|
m_searchButton.set_has_frame(false);
|
|
|
m_searchButton.add_css_class("flat");
|
|
|
- m_searchButton.set_tooltip_text("Search (Ctrl+F)");
|
|
|
+ m_searchButton.set_tooltip_text("Search library (Ctrl+F)");
|
|
|
m_searchButton.signal_toggled().connect(sigc::mem_fun(*this, &BibliothecaWindow::onSearchToggle));
|
|
|
m_headerBar.pack_start(m_searchButton);
|
|
|
|
|
|
@@ -202,14 +204,14 @@ void BibliothecaWindow::buildHeaderBar() {
|
|
|
m_settingsButton.set_icon_name("emblem-system-symbolic");
|
|
|
m_settingsButton.set_has_frame(false);
|
|
|
m_settingsButton.add_css_class("flat");
|
|
|
- m_settingsButton.set_tooltip_text("Settings");
|
|
|
+ m_settingsButton.set_tooltip_text("Open settings");
|
|
|
m_settingsButton.signal_clicked().connect(sigc::mem_fun(*this, &BibliothecaWindow::onSettingsClicked));
|
|
|
m_headerBar.pack_end(m_settingsButton);
|
|
|
|
|
|
// Add (+) button on the right
|
|
|
m_addBookButton.set_icon_name("list-add-symbolic");
|
|
|
m_addBookButton.set_has_frame(false);
|
|
|
- m_addBookButton.set_tooltip_text("Add books to your library");
|
|
|
+ m_addBookButton.set_tooltip_text("Add books to library");
|
|
|
m_addBookButton.signal_clicked().connect(sigc::mem_fun(*this, &BibliothecaWindow::onAddBookClicked));
|
|
|
|
|
|
m_headerBar.pack_end(m_addBookButton);
|
|
|
@@ -310,20 +312,24 @@ void BibliothecaWindow::buildBatchActionBar() {
|
|
|
|
|
|
m_batchSelectAllButton.set_label("Select All");
|
|
|
m_batchSelectAllButton.add_css_class("flat");
|
|
|
+ m_batchSelectAllButton.set_tooltip_text("Select all books in the library");
|
|
|
m_batchSelectAllButton.signal_clicked().connect(sigc::mem_fun(*this, &BibliothecaWindow::onBatchSelectAllClicked));
|
|
|
|
|
|
m_batchClearButton.set_label("Clear");
|
|
|
m_batchClearButton.add_css_class("flat");
|
|
|
+ m_batchClearButton.set_tooltip_text("Clear selection");
|
|
|
m_batchClearButton.signal_clicked().connect(sigc::mem_fun(*this, &BibliothecaWindow::onBatchClearSelectionClicked));
|
|
|
|
|
|
m_batchTagButton.set_label("Add Tag");
|
|
|
m_batchTagButton.set_icon_name("tag-symbolic");
|
|
|
m_batchTagButton.add_css_class("suggested-action");
|
|
|
+ m_batchTagButton.set_tooltip_text("Add a tag to selected books");
|
|
|
m_batchTagButton.signal_clicked().connect(sigc::mem_fun(*this, &BibliothecaWindow::onBatchTagClicked));
|
|
|
|
|
|
m_batchDeleteButton.set_label("Delete");
|
|
|
m_batchDeleteButton.set_icon_name("user-trash-symbolic");
|
|
|
m_batchDeleteButton.add_css_class("destructive-action");
|
|
|
+ m_batchDeleteButton.set_tooltip_text("Delete selected books from library");
|
|
|
m_batchDeleteButton.signal_clicked().connect(sigc::mem_fun(*this, &BibliothecaWindow::onBatchDeleteClicked));
|
|
|
|
|
|
// Build tag popover
|