use separated class files, use hpp header extension, update include model

This commit is contained in:
yggverse 2024-08-10 17:57:15 +03:00
parent 9b6dceddd8
commit 0f96ff851e
15 changed files with 235 additions and 145 deletions

View file

@ -0,0 +1,48 @@
#include "menu.hpp"
using namespace app::browser::header;
Menu::Menu()
{
set_tooltip_text(
TOOLTIP
);
// Build tab submenu
auto tab = Gio::Menu::create();
tab->append(
_("New tab"),
"app.tab.new"
);
// Build tool submenu
auto tool = Gio::Menu::create();
tool->append(
_("Debug"),
"app.tool.debug"
);
// Build main menu
auto main = Gio::Menu::create();
main->append_submenu(
_("Tab"),
tab
);
main->append_submenu(
_("Tool"),
tool
);
main->append(
_("Quit"),
"win.quit"
);
set_menu_model(
main
);
}

View file

@ -0,0 +1,21 @@
#ifndef APP_BROWSER_HEADER_MENU_H
#define APP_BROWSER_HEADER_MENU_H
#include <giomm/menu.h>
#include <glibmm/i18n.h>
#include <gtkmm/menubutton.h>
namespace app::browser::header
{
class Menu : public Gtk::MenuButton
{
public:
const char* TOOLTIP = _("Menu");
Menu();
};
}
#endif // APP_BROWSER_HEADER_MENU_H

View file

@ -0,0 +1,14 @@
#include "tab.hpp"
using namespace app::browser::header;
Tab::Tab()
{
set_tooltip_text(
TOOLTIP
);
set_icon_name(
ICON
);
}

View file

@ -0,0 +1,20 @@
#ifndef APP_BROWSER_HEADER_TAB_H
#define APP_BROWSER_HEADER_TAB_H
#include <glibmm/i18n.h>
#include <gtkmm/menubutton.h>
namespace app::browser::header
{
class Tab : public Gtk::MenuButton
{
public:
const char* ICON = "tab-new-symbolic";
const char* TOOLTIP = _("New tab");
Tab();
};
}
#endif // APP_BROWSER_HEADER_TAB_H