mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-01-30 13:04:13 +00:00
implement page close on tab label double click
This commit is contained in:
parent
530991a48e
commit
a7bd2ae078
@ -1,5 +1,4 @@
|
|||||||
#include "tab.hpp"
|
#include "tab.hpp"
|
||||||
#include "gtkmm/label.h"
|
|
||||||
|
|
||||||
using namespace app::browser::main;
|
using namespace app::browser::main;
|
||||||
|
|
||||||
@ -17,13 +16,36 @@ void Tab::append(
|
|||||||
bool open,
|
bool open,
|
||||||
bool focus
|
bool focus
|
||||||
) {
|
) {
|
||||||
Gtk::Label * data = new Gtk::Label("data"); // @TODO
|
// Init new tab label
|
||||||
|
Gtk::Label * name = new Gtk::Label(
|
||||||
|
LABEL
|
||||||
|
);
|
||||||
|
|
||||||
|
// Setup label controller
|
||||||
|
auto controller = Gtk::GestureClick::create();
|
||||||
|
|
||||||
|
/* @TODO remove as default
|
||||||
|
controller->set_button(
|
||||||
|
GDK_BUTTON_PRIMARY
|
||||||
|
);*/
|
||||||
|
|
||||||
|
controller->signal_pressed().connect(
|
||||||
|
sigc::mem_fun(
|
||||||
|
* this,
|
||||||
|
& Tab::on_label_click
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
name->add_controller(
|
||||||
|
controller
|
||||||
|
);
|
||||||
|
|
||||||
|
// Init tab data container @TODO
|
||||||
|
Gtk::Label * data = new Gtk::Label("data");
|
||||||
|
|
||||||
append_page(
|
append_page(
|
||||||
* data,
|
* data,
|
||||||
* new Gtk::Label(
|
* name
|
||||||
LABEL
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
set_tab_reorderable(
|
set_tab_reorderable(
|
||||||
@ -39,4 +61,17 @@ void Tab::append(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
void Tab::on_label_click(
|
||||||
|
int n,
|
||||||
|
double x,
|
||||||
|
double y
|
||||||
|
) {
|
||||||
|
if (n == 2) // double click
|
||||||
|
{
|
||||||
|
remove_page(
|
||||||
|
get_current_page()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -2,12 +2,22 @@
|
|||||||
#define APP_BROWSER_MAIN_TAB_H
|
#define APP_BROWSER_MAIN_TAB_H
|
||||||
|
|
||||||
#include <glibmm/i18n.h>
|
#include <glibmm/i18n.h>
|
||||||
|
#include <gtkmm/gestureclick.h>
|
||||||
|
#include <gtkmm/label.h>
|
||||||
#include <gtkmm/notebook.h>
|
#include <gtkmm/notebook.h>
|
||||||
|
|
||||||
namespace app::browser::main
|
namespace app::browser::main
|
||||||
{
|
{
|
||||||
class Tab : public Gtk::Notebook
|
class Tab : public Gtk::Notebook
|
||||||
{
|
{
|
||||||
|
private:
|
||||||
|
|
||||||
|
void on_label_click(
|
||||||
|
int n,
|
||||||
|
double x,
|
||||||
|
double y
|
||||||
|
);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
const bool SCROLLABLE = true;
|
const bool SCROLLABLE = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user