add / link about_dialog to gui (#22)

This commit is contained in:
telans 2019-10-25 13:27:44 +13:00 committed by William Pierce
parent 63761a7099
commit 0d5b3bc7ec
7 changed files with 82 additions and 1 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
/bin/SamRewritten /bin/SamRewritten
/bin/samrewritten /bin/samrewritten
/glade/*.glade~ /glade/*.glade~
/glade*.glade# /glade/*.glade#

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -26,6 +26,48 @@ Author: Paul Combaldieu
<!-- interface-license-type lgplv3 --> <!-- interface-license-type lgplv3 -->
<!-- interface-name SamRewritten --> <!-- interface-name SamRewritten -->
<!-- interface-authors Paul Combaldieu --> <!-- interface-authors Paul Combaldieu -->
<object class="GtkAboutDialog" id="about_dialog">
<property name="can_focus">False</property>
<property name="icon">../assets/icon.png</property>
<property name="type_hint">dialog</property>
<property name="program_name">SamRewritten</property>
<property name="version">A Steam Achievement Manager For Linux</property>
<property name="comments" translatable="yes">Contribute to us on GitHub!</property>
<property name="website">https://github.com/PaulCombal/SamRewritten</property>
<property name="website_label" translatable="yes">Source Code</property>
<property name="authors">Paul Combal (PaulCombal)
William Pierce (wgpierce)
telans (telans)</property>
<property name="artists">Rejedai (rejedai)</property>
<property name="logo">../assets/icon.png</property>
<property name="license_type">gpl-3-0</property>
<signal name="delete-event" handler="on_about_dialog_close_button_clicked" swapped="no"/>
<signal name="response" handler="on_about_dialog_close_button_clicked" swapped="no"/>
<child type="titlebar">
<placeholder/>
</child>
<child internal-child="vbox">
<object class="GtkBox">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
<object class="GtkBox" id="game_placeholder"> <object class="GtkBox" id="game_placeholder">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">False</property> <property name="can_focus">False</property>
@ -94,6 +136,7 @@ He's pretty confident they won't take much longer to arrive, but is also wrong m
<property name="can_focus">True</property> <property name="can_focus">True</property>
<property name="receives_default">True</property> <property name="receives_default">True</property>
<property name="text" translatable="yes">About</property> <property name="text" translatable="yes">About</property>
<signal name="clicked" handler="on_about_button_clicked" swapped="no"/>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>

View File

@ -10,6 +10,7 @@
MainPickerWindow::MainPickerWindow() MainPickerWindow::MainPickerWindow()
: :
m_main_window(nullptr), m_main_window(nullptr),
m_about_dialog(nullptr),
m_back_button(nullptr), m_back_button(nullptr),
m_game_list(nullptr), m_game_list(nullptr),
m_stats_list(nullptr), m_stats_list(nullptr),
@ -26,6 +27,7 @@ m_stats_list_view(nullptr)
m_game_list = GTK_LIST_BOX(gtk_builder_get_object(m_builder, "game_list")); m_game_list = GTK_LIST_BOX(gtk_builder_get_object(m_builder, "game_list"));
m_stats_list = GTK_LIST_BOX(gtk_builder_get_object(m_builder, "stats_list")); m_stats_list = GTK_LIST_BOX(gtk_builder_get_object(m_builder, "stats_list"));
m_main_window = GTK_WIDGET(gtk_builder_get_object(m_builder, "main_window")); m_main_window = GTK_WIDGET(gtk_builder_get_object(m_builder, "main_window"));
m_about_dialog = GTK_WIDGET(gtk_builder_get_object(m_builder, "about_dialog"));
m_main_stack = GTK_STACK(gtk_builder_get_object(m_builder, "main_stack")); m_main_stack = GTK_STACK(gtk_builder_get_object(m_builder, "main_stack"));
m_game_list_view = GTK_SCROLLED_WINDOW(gtk_builder_get_object(m_builder, "game_list_view")); m_game_list_view = GTK_SCROLLED_WINDOW(gtk_builder_get_object(m_builder, "game_list_view"));
m_stats_list_view = GTK_SCROLLED_WINDOW(gtk_builder_get_object(m_builder, "stats_list_view")); m_stats_list_view = GTK_SCROLLED_WINDOW(gtk_builder_get_object(m_builder, "stats_list_view"));
@ -261,6 +263,16 @@ MainPickerWindow::switch_to_games_page() {
} }
// => switch_to_games_page // => switch_to_games_page
void
MainPickerWindow::show_about_dialog() {
gtk_widget_show(GTK_WIDGET(m_about_dialog));
}
void
MainPickerWindow::hide_about_dialog() {
gtk_widget_hide_on_delete(GTK_WIDGET(m_about_dialog));
}
void void
MainPickerWindow::show() { MainPickerWindow::show() {
gtk_widget_show( get_main_window() ); gtk_widget_show( get_main_window() );

View File

@ -99,6 +99,16 @@ public:
*/ */
void switch_to_games_page(); void switch_to_games_page();
/**
* Opens the About Dialog on top of the current page
*/
void show_about_dialog();
/**
* Closes the About Dialog without destroying it for future calling
*/
void hide_about_dialog();
/** /**
* Getter for the main window * Getter for the main window
*/ */
@ -129,6 +139,7 @@ public:
private: private:
GtkWidget *m_main_window; GtkWidget *m_main_window;
GtkWidget *m_about_dialog;
GtkButton *m_back_button; GtkButton *m_back_button;
GtkButton *m_store_button; GtkButton *m_store_button;
GtkListBox *m_game_list; GtkListBox *m_game_list;

View File

@ -197,6 +197,15 @@ extern "C"
} }
// => on_main_window_show // => on_main_window_show
void
on_about_button_clicked() {
g_main_gui->show_about_dialog();
}
void
on_about_dialog_close_button_clicked() {
g_main_gui->hide_about_dialog();
}
void void
on_search_changed(GtkWidget* search_widget) { on_search_changed(GtkWidget* search_widget) {

View File

@ -64,6 +64,12 @@ extern "C"
void void
on_main_window_show(); on_main_window_show();
void
on_about_button_clicked();
void
on_about_dialog_close_button_clicked ();
void void
on_search_changed(GtkWidget* search_widget); on_search_changed(GtkWidget* search_widget);