summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/CMakeLists.txt1
-rw-r--r--gui/include/preferences.hpp19
-rw-r--r--gui/src/init.cpp2
-rw-r--r--gui/src/main.cpp107
-rw-r--r--gui/src/preferences.cpp34
5 files changed, 69 insertions, 94 deletions
diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
index 0581552..5623332 100644
--- a/gui/CMakeLists.txt
+++ b/gui/CMakeLists.txt
@@ -68,6 +68,7 @@ add_library("gui_impl"
"src/init.cpp"
"src/participant_editor.cpp"
"src/participant_row.cpp"
+ "src/preferences.cpp"
"src/settings.cpp"
)
diff --git a/gui/include/preferences.hpp b/gui/include/preferences.hpp
index c5bace3..9bd2e77 100644
--- a/gui/include/preferences.hpp
+++ b/gui/include/preferences.hpp
@@ -3,25 +3,22 @@
* SPDX-License-Identifier: LGPL-2.1-only
*/
-#ifndef TURNS_UI_PREFERENCES_HPP
-#define TURNS_UI_PREFERENCES_HPP
+#ifndef TURNS_GUI_PREFERENCES_HPP
+#define TURNS_GUI_PREFERENCES_HPP
-#include "turns/ui/template_widget.hpp"
+#include "template_widget.hpp"
+#include <adwaitamm/preferencespage.hpp>
+#include <adwaitamm/switchrow.hpp>
+#include <giomm/settings.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
-
-#include <giomm/settings.h>
-
#include <gtkmm/button.h>
#include <gtkmm/colordialogbutton.h>
-#include <adwaitamm/preferencespage.hpp>
-#include <adwaitamm/switchrow.hpp>
-
#include <array>
-namespace turns::ui
+namespace Turns::gui
{
struct Preferences : template_widget<Preferences, Adwaita::PreferencesPage>
{
@@ -53,6 +50,6 @@ namespace turns::ui
Gtk::ColorDialogButton * m_secret_color_button{};
Adwaita::SwitchRow * m_skip_defeated{};
};
-} // namespace turns::ui::widgets
+} // namespace Turns::gui
#endif \ No newline at end of file
diff --git a/gui/src/init.cpp b/gui/src/init.cpp
index 734f953..4d68929 100644
--- a/gui/src/init.cpp
+++ b/gui/src/init.cpp
@@ -2,6 +2,7 @@
#include "participant_editor.hpp"
#include "participant_row.hpp"
+#include "preferences.hpp"
#include <glib-object.h>
@@ -9,4 +10,5 @@ auto Turns::gui::init() -> void
{
g_type_ensure(ParticipantRow{nullptr}.get_type());
g_type_ensure(ParticipantEditor{nullptr}.get_type());
+ g_type_ensure(Preferences{}.get_type());
}
diff --git a/gui/src/main.cpp b/gui/src/main.cpp
index d8b0bf9..61fdde3 100644
--- a/gui/src/main.cpp
+++ b/gui/src/main.cpp
@@ -4,17 +4,35 @@
*/
#include "init.hpp"
+#include "settings.hpp"
#include <turnsmm.hpp>
-#include <turnsmm/enum_helpers.hpp>
+#include <sigc++/adaptors/bind.h>
+#include <sigc++/functors/mem_fun.h>
+
+#include <adwaitamm/aboutdialog.hpp>
#include <adwaitamm/application.hpp>
+#include <adwaitamm/enums.hpp>
+#include <adwaitamm/stylemanager.hpp>
#include <giomm/application.h>
+#include <glibmm/refptr.h>
+#include <gtkmm/object.h>
#include <libintl.h>
#include <clocale>
+namespace
+{
+ auto show_about(Glib::RefPtr<Adwaita::Application> app)
+ {
+ auto active_window = app->get_active_window();
+ auto dialog = Gtk::make_managed<Adwaita::AboutDialog>("/ch/arknet/Turns/metainfo.xml", "");
+ dialog->present(active_window);
+ }
+} // namespace
+
auto main(int argc, char ** argv) -> int
{
setlocale(LC_ALL, "");
@@ -27,75 +45,36 @@ auto main(int argc, char ** argv) -> int
Turns::init();
Turns::gui::init();
+ app->signal_startup().connect([app] {
+ auto style_manager = Adwaita::StyleManager::get_default();
+ style_manager->set_color_scheme(Adwaita::ColorScheme::PreferLight);
+
+ app->add_action("quit", sigc::mem_fun(*app, &Adwaita::Application::quit));
+ app->add_action("about", sigc::bind(&show_about, app));
+ app->set_accel_for_action("app.quit", "<Primary>q");
+ app->set_accel_for_action("win.clear", "<Primary>x");
+ app->set_accel_for_action("win.next", "<Primary>space");
+ app->set_accel_for_action("win.previous", "<Primary>BackSpace");
+ app->set_accel_for_action("win.add_participant", "<Primary>a");
+ app->set_accel_for_action("win.open", "<Primary>o");
+ app->set_accel_for_action("win.preferences", "<Primary>comma");
+ app->set_accel_for_action("win.save", "<Primary>s");
+ app->set_accel_for_action("win.save-as", "<Primary><Shift>s");
+ });
+
+ auto settings = Turns::gui::get_settings();
+
+ // app->signal_activate().connect([app, settings] {
+ // auto window = new turns::ui::Tracker{app, settings};
+ // window->present();
+ // });
+
return app->run(argc, argv);
}
-// #include "turns/core/init.hpp"
-// #include "turns/core/settings.hpp"
-// #include "turns/ui/init.hpp"
-// #include "turns/ui/tracker.hpp"
-
-// #include <sigc++/adaptors/bind.h>
-// #include <sigc++/functors/mem_fun.h>
-
-// #include <glibmm/refptr.h>
-
-// #include <giomm/application.h>
-// #include <giomm/settings.h>
-
-// #include <gtkmm/application.h>
-// #include <gtkmm/builder.h>
-// #include <gtkmm/object.h>
-
-// #include <adwaitamm/aboutdialog.hpp>
-// #include <adwaitamm/application.hpp>
-// #include <adwaitamm/enums.hpp>
-// #include <adwaitamm/stylemanager.hpp>
-
-// #include <libintl.h>
-
-// #include <clocale>
-// #include <print>
-
-// auto show_about(Glib::RefPtr<Adwaita::Application> app)
-// {
-// auto active_window = app->get_active_window();
-// auto dialog = Gtk::make_managed<Adwaita::AboutDialog>("/ch/arknet/Turns/metainfo.xml", "");
-// dialog->present(active_window);
-// }
-
// auto main(int argc, char * argv[]) -> int
// {
-// auto app = Adwaita::Application::create("ch.arknet.Turns", Gio::Application::Flags::HANDLES_OPEN);
-// auto settings = turns::core::get_settings();
-
-// turns::core::register_types();
-
-// app->signal_startup().connect([app] {
-// turns::ui::register_types();
-
-// auto style_manager = Adwaita::StyleManager::get_default();
-// style_manager->set_color_scheme(Adwaita::ColorScheme::PreferLight);
-
-// app->add_action("quit", sigc::mem_fun(*app, &Adwaita::Application::quit));
-// app->add_action("about", sigc::bind(&show_about, app));
-// app->set_accel_for_action("app.quit", "<Primary>q");
-// app->set_accel_for_action("win.clear", "<Primary>x");
-// app->set_accel_for_action("win.next", "<Primary>space");
-// app->set_accel_for_action("win.previous", "<Primary>BackSpace");
-// app->set_accel_for_action("win.add_participant", "<Primary>a");
-// app->set_accel_for_action("win.open", "<Primary>o");
-// app->set_accel_for_action("win.preferences", "<Primary>comma");
-// app->set_accel_for_action("win.save", "<Primary>s");
-// app->set_accel_for_action("win.save-as", "<Primary><Shift>s");
-// });
-
-// app->signal_activate().connect([app, settings] {
-// auto window = new turns::ui::Tracker{app, settings};
-// window->present();
-// });
-
// app->signal_open().connect([app, settings](auto files, auto) {
// auto windows = app->get_windows();
// auto window = static_cast<turns::ui::Tracker *>(nullptr);
diff --git a/gui/src/preferences.cpp b/gui/src/preferences.cpp
index cd6cdbf..24bc952 100644
--- a/gui/src/preferences.cpp
+++ b/gui/src/preferences.cpp
@@ -3,32 +3,28 @@
* SPDX-License-Identifier: LGPL-2.1-only
*/
-#include "turns/ui/preferences.hpp"
+#include "preferences.hpp"
-#include "turns/core/settings.hpp"
-#include "turns/ui/template_widget.hpp"
+#include "settings.hpp"
+#include "template_widget.hpp"
#include <sigc++/adaptors/bind.h>
#include <sigc++/functors/mem_fun.h>
+#include <adwaitamm/switchrow.hpp>
+#include <gdkmm/rgba.h>
+#include <giomm/settings.h>
#include <glibmm/binding.h>
#include <glibmm/objectbase.h>
#include <glibmm/refptr.h>
#include <glibmm/ustring.h>
#include <glibmm/variant.h>
-
-#include <giomm/settings.h>
-
#include <gtkmm/button.h>
#include <gtkmm/colordialog.h>
#include <gtkmm/colordialogbutton.h>
#include <gtkmm/enums.h>
-#include <adwaitamm/switchrow.hpp>
-
-#include <gdkmm/rgba.h>
-
-namespace turns::ui
+namespace Turns::gui
{
namespace
{
@@ -53,14 +49,14 @@ namespace turns::ui
return;
}
- bind_reset(core::settings::key::disposition_friendly_color, m_friendly_reset_button);
- bind_setting(core::settings::key::disposition_friendly_color, m_friendly_color_button);
- bind_reset(core::settings::key::disposition_hostile_color, m_hostile_reset_button);
- bind_setting(core::settings::key::disposition_hostile_color, m_hostile_color_button);
- bind_reset(core::settings::key::disposition_secret_color, m_secret_reset_button);
- bind_setting(core::settings::key::disposition_secret_color, m_secret_color_button);
+ bind_reset(settings::key::disposition_friendly_color, m_friendly_reset_button);
+ bind_setting(settings::key::disposition_friendly_color, m_friendly_color_button);
+ bind_reset(settings::key::disposition_hostile_color, m_hostile_reset_button);
+ bind_setting(settings::key::disposition_hostile_color, m_hostile_color_button);
+ bind_reset(settings::key::disposition_secret_color, m_secret_reset_button);
+ bind_setting(settings::key::disposition_secret_color, m_secret_color_button);
- m_settings->bind(core::settings::key::skip_defeated, m_skip_defeated->property_active());
+ m_settings->bind(settings::key::skip_defeated, m_skip_defeated->property_active());
}
auto Preferences::bind_reset(Glib::ustring const & key, Gtk::Button * button) -> void
@@ -83,4 +79,4 @@ namespace turns::ui
button->set_sensitive(m_settings->get_user_value(key, v));
}
-} // namespace turns::ui::widgets \ No newline at end of file
+} // namespace Turns::gui \ No newline at end of file