Implement stats placeholders

This commit is contained in:
William Pierce 2020-04-20 01:53:08 -07:00
parent 506bbb27b0
commit 1072ca4653
3 changed files with 34 additions and 1 deletions

View File

@ -73,6 +73,7 @@ AsyncGuiLoader::load_achievements_idle()
g_perfmon->log("Achievements retrieved, no icons (Achievement farming app).");
m_achievement_idle_data.state = ACH_STATE_FINISHED;
m_window->show_no_achievements_found_placeholder();
m_window->show_no_stats_found_placeholder();
m_achievement_refresh_lock.unlock();
return G_SOURCE_REMOVE;
}
@ -96,6 +97,7 @@ AsyncGuiLoader::load_achievements_idle()
m_achievement_idle_data.state = ACH_STATE_FINISHED;
g_perfmon->log("Achievements retrieved with icons.");
m_window->show_no_achievements_found_placeholder();
m_window->show_no_stats_found_placeholder();
m_achievement_refresh_lock.unlock();
#ifdef DEBUG_CERR
@ -153,6 +155,7 @@ AsyncGuiLoader::populate_achievements() {
m_window->reset_achievement_list();
m_window->reset_stat_list();
m_window->show_fetch_achievements_placeholder();
m_window->show_fetch_stats_placeholder();
Glib::signal_idle().connect(sigc::mem_fun(this, &AsyncGuiLoader::load_achievements_idle), G_PRIORITY_LOW);

View File

@ -34,8 +34,10 @@ MainPickerWindow::MainPickerWindow(GtkApplicationWindow* cobject, const Glib::Re
m_builder->get_widget("fetch_games_placeholder", m_fetch_games_placeholder);
m_builder->get_widget("no_games_found_placeholder", m_no_games_found_placeholder);
m_builder->get_widget("fetch_achievements_placeholder", m_fetch_achievements_placeholder);
m_builder->get_widget("fetch_stats_placeholder", m_fetch_stats_placeholder);
m_builder->get_widget("no_achievements_found_placeholder", m_no_achievements_found_placeholder);
m_builder->get_widget("no_stats_found_placeholder", m_no_stats_found_placeholder);
// Connect them manually to slots
signal_delete_event().connect(sigc::mem_fun(this, &MainPickerWindow::on_delete));
signal_show().connect(sigc::mem_fun(this, &MainPickerWindow::on_refresh_games_button_clicked));
@ -364,6 +366,13 @@ MainPickerWindow::show_fetch_achievements_placeholder() {
}
// => show_fetch_achievements_placeholder
void
MainPickerWindow::show_fetch_stats_placeholder() {
m_stat_list->set_placeholder(*m_fetch_stats_placeholder);
m_fetch_stats_placeholder->show();
}
// => show_fetch_stats_placeholder
void
MainPickerWindow::show_no_achievements_found_placeholder() {
m_achievement_list->set_placeholder(*m_no_achievements_found_placeholder);
@ -371,6 +380,13 @@ MainPickerWindow::show_no_achievements_found_placeholder() {
}
// => show_no_achievements_found_placeholder
void
MainPickerWindow::show_no_stats_found_placeholder() {
m_stat_list->set_placeholder(*m_no_stats_found_placeholder);
m_no_stats_found_placeholder->show();
}
// => show_no_stats_found_placeholder
void
MainPickerWindow::switch_to_achievement_page() {
m_back_button->set_visible(true);

View File

@ -115,11 +115,23 @@ public:
*/
void show_fetch_achievements_placeholder();
/**
* Set the stat_list placeholder to the no stat found placeholder
* and show it
*/
void show_fetch_stats_placeholder();
/**
* Set the game_list placeholder to the fetching achievements placeholder
* and show it
*/
void show_no_achievements_found_placeholder();
/**
* Set the stat_list placeholder to the fetching stats placeholder
* and show it
*/
void show_no_stats_found_placeholder();
private:
// Gtk Callbacks
void on_game_search_changed();
@ -162,7 +174,9 @@ private:
Gtk::Box *m_fetch_games_placeholder;
Gtk::Box *m_no_games_found_placeholder;
Gtk::Box *m_fetch_achievements_placeholder;
Gtk::Box *m_fetch_stats_placeholder;
Gtk::Box *m_no_achievements_found_placeholder;
Gtk::Box *m_no_stats_found_placeholder;
InputAppidBoxRow m_input_appid_row;