quick commit
This commit is contained in:
@@ -52,7 +52,9 @@ class TrayService {
|
||||
};
|
||||
using MenuLayoutCallback = sigc::slot<void(std::optional<MenuNode>)>;
|
||||
void request_menu_layout(const std::string &id, MenuLayoutCallback callback);
|
||||
bool activate_menu_item(const std::string &id, int itemId);
|
||||
bool activate_menu_item(const std::string &id, int itemId, int32_t x = -1,
|
||||
int32_t y = -1, uint32_t button = 1,
|
||||
uint32_t timestampMs = 0);
|
||||
|
||||
sigc::signal<void(const Item &)> &signal_item_added();
|
||||
sigc::signal<void(const std::string &)> &signal_item_removed();
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
class TrayIconWidget : public Button {
|
||||
public:
|
||||
TrayIconWidget(std::string id);
|
||||
~TrayIconWidget() override;
|
||||
|
||||
void update(const TrayService::Item &item);
|
||||
|
||||
@@ -33,6 +34,7 @@ class TrayIconWidget : public Button {
|
||||
Gtk::Picture picture;
|
||||
Gtk::Image image;
|
||||
Glib::RefPtr<Gtk::GestureClick> primaryGesture;
|
||||
Glib::RefPtr<Gtk::GestureClick> middleGesture;
|
||||
Glib::RefPtr<Gtk::GestureClick> secondaryGesture;
|
||||
Glib::RefPtr<Gtk::PopoverMenu> menuPopover;
|
||||
Glib::RefPtr<Gio::SimpleActionGroup> menuActions;
|
||||
@@ -40,10 +42,12 @@ class TrayIconWidget : public Button {
|
||||
bool menuPopupPending = false;
|
||||
bool menuRequestInFlight = false;
|
||||
bool hasRemoteMenu = false;
|
||||
std::shared_ptr<bool> aliveFlag;
|
||||
double pendingX = 0.0;
|
||||
double pendingY = 0.0;
|
||||
|
||||
void on_primary_released(int n_press, double x, double y);
|
||||
void on_middle_released(int n_press, double x, double y);
|
||||
void on_secondary_released(int n_press, double x, double y);
|
||||
void on_menu_layout_ready(std::optional<TrayService::MenuNode> layout);
|
||||
void
|
||||
@@ -51,6 +55,7 @@ class TrayIconWidget : public Button {
|
||||
const Glib::RefPtr<Gio::Menu> &menu,
|
||||
const Glib::RefPtr<Gio::SimpleActionGroup> &actions);
|
||||
void on_menu_action(const Glib::VariantBase ¶meter, int itemId);
|
||||
bool try_get_pending_coords(int32_t &outX, int32_t &outY) const;
|
||||
};
|
||||
|
||||
class TrayWidget : public Gtk::Box {
|
||||
|
||||
Reference in New Issue
Block a user