Browse Source

Add about dialog

merge-requests/365/head
Jørgen Lien Sellæg 10 years ago
parent
commit
bcfba43b62
  1. 2
      src/config.cc
  2. 1
      src/files.h
  3. 2
      src/menu.cc
  4. 20
      src/window.cc
  5. 2
      src/window.h

2
src/config.cc

@ -14,7 +14,7 @@ MainConfig::MainConfig() {
Singleton::Config::window()->theme_name=cfg.get<std::string>("gtk_theme.name"); Singleton::Config::window()->theme_name=cfg.get<std::string>("gtk_theme.name");
Singleton::Config::window()->theme_variant=cfg.get<std::string>("gtk_theme.variant"); Singleton::Config::window()->theme_variant=cfg.get<std::string>("gtk_theme.variant");
Singleton::Config::window()->version = cfg.get<std::string>("version");
Singleton::Config::terminal()->make_command=cfg.get<std::string>("project.make_command"); Singleton::Config::terminal()->make_command=cfg.get<std::string>("project.make_command");
Singleton::Config::terminal()->cmake_command=cfg.get<std::string>("project.cmake_command"); Singleton::Config::terminal()->cmake_command=cfg.get<std::string>("project.cmake_command");
} }

1
src/files.h

@ -1,6 +1,7 @@
#include <string> #include <string>
const std::string configjson = const std::string configjson =
"{\n" "{\n"
" \"version\": \"0.9.1\",\n"
" \"gtk_theme\": {\n" " \"gtk_theme\": {\n"
" \"name\": \"Adwaita\", //Use \"\" for default theme, At least these two exist on all systems: Adwaita, Raleigh\n" " \"name\": \"Adwaita\", //Use \"\" for default theme, At least these two exist on all systems: Adwaita, Raleigh\n"
" \"variant\": \"\" //Use \"\" for default variant, and \"dark\" for dark theme variant\n" " \"variant\": \"\" //Use \"\" for default variant, and \"dark\" for dark theme variant\n"

2
src/menu.cc

@ -15,8 +15,6 @@ Menu::Menu() : box(Gtk::ORIENTATION_VERTICAL) {
action_group->add(Gtk::Action::create("SourceMenu", "_Source")); action_group->add(Gtk::Action::create("SourceMenu", "_Source"));
action_group->add(Gtk::Action::create("PluginMenu", "_Plugins")); action_group->add(Gtk::Action::create("PluginMenu", "_Plugins"));
action_group->add(Gtk::Action::create("HelpMenu", "Help")); action_group->add(Gtk::Action::create("HelpMenu", "Help"));
action_group->add(Gtk::Action::create("HelpAbout", "About"), [this]() {
});
INFO("Menu created"); INFO("Menu created");
} }

20
src/window.cc

@ -103,6 +103,21 @@ Window::Window() : box(Gtk::ORIENTATION_VERTICAL), notebook(directories), compil
entry_box.hide(); entry_box.hide();
}); });
about.signal_response().connect([this](int d){
about.hide();
});
about.set_version(Singleton::Config::window()->version);
about.set_authors({"Ted Johan Kristoffersen",
"Jørgen Lien Sellæg",
"Geir Morten Larsen",
"with special thanks to",
"Ole Christian Eidheim"});
about.set_name("About juCi++");
about.set_program_name("juCi++");
about.set_comments("This is an open source IDE with high-end features to make your programming experience juicy");
about.set_license_type(Gtk::License::LICENSE_MIT_X11);
about.set_transient_for(*this);
INFO("Window created"); INFO("Window created");
} // Window constructor } // Window constructor
@ -294,10 +309,13 @@ void Window::create_menu() {
menu.action_group->add(Gtk::Action::create("ProjectForceKillLastRunning", "Force Kill Last Process"), Gtk::AccelKey(menu.key_map["force_kill_last_running"]), [this]() { menu.action_group->add(Gtk::Action::create("ProjectForceKillLastRunning", "Force Kill Last Process"), Gtk::AccelKey(menu.key_map["force_kill_last_running"]), [this]() {
Singleton::terminal()->kill_last_async_execute(true); Singleton::terminal()->kill_last_async_execute(true);
}); });
menu.action_group->add(Gtk::Action::create("WindowCloseTab", "Close Tab"), Gtk::AccelKey(menu.key_map["close_tab"]), [this]() { menu.action_group->add(Gtk::Action::create("WindowCloseTab", "Close Tab"), Gtk::AccelKey(menu.key_map["close_tab"]), [this]() {
notebook.close_current_page(); notebook.close_current_page();
}); });
menu.action_group->add(Gtk::Action::create("HelpAbout", "About"), [this] () {
about.show();
about.present();
});
add_accel_group(menu.ui_manager->get_accel_group()); add_accel_group(menu.ui_manager->get_accel_group());
menu.build(); menu.build();
INFO("Menu build") INFO("Menu build")

2
src/window.h

@ -18,6 +18,7 @@ public:
public: public:
std::string theme_name; std::string theme_name;
std::string theme_variant; std::string theme_variant;
std::string version;
boost::property_tree::ptree keybindings; boost::property_tree::ptree keybindings;
}; };
@ -33,6 +34,7 @@ private:
Gtk::VBox terminal_vbox; Gtk::VBox terminal_vbox;
Gtk::ScrolledWindow terminal_scrolled_window; Gtk::ScrolledWindow terminal_scrolled_window;
Gtk::HBox status_hbox; Gtk::HBox status_hbox;
Gtk::AboutDialog about;
EntryBox entry_box; EntryBox entry_box;
Menu menu; Menu menu;
std::atomic<bool> compiling; std::atomic<bool> compiling;

Loading…
Cancel
Save