summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexander Valavanis <valavanisalex@gmail.com>2019-01-27 13:26:05 +0000
committerAlexander Valavanis <valavanisalex@gmail.com>2019-01-27 13:26:05 +0000
commite3b9f3561eac456a0758690aa361e0b6d33a6100 (patch)
tree07231a406b45fda6b7ee5ac9d0b82a113ce39c7a /src
parentSpinButtonToolItem: Create popup menu on right-click (diff)
downloadinkscape-e3b9f3561eac456a0758690aa361e0b6d33a6100.tar.gz
inkscape-e3b9f3561eac456a0758690aa361e0b6d33a6100.zip
SpinButtonToolItem: Handle menu-button press
Diffstat (limited to 'src')
-rw-r--r--src/ui/widget/spin-button-tool-item.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/ui/widget/spin-button-tool-item.cpp b/src/ui/widget/spin-button-tool-item.cpp
index 32066ab74..21a82d48e 100644
--- a/src/ui/widget/spin-button-tool-item.cpp
+++ b/src/ui/widget/spin-button-tool-item.cpp
@@ -365,7 +365,7 @@ SpinButtonToolItem::SpinButtonToolItem(const Glib::ustring name,
set_name(_name);
// Handle popup menu
- signal_popup_menu().connect(sigc::mem_fun(*this, &SpinButtonToolItem::on_popup_menu), false);
+ _btn->signal_popup_menu().connect(sigc::mem_fun(*this, &SpinButtonToolItem::on_popup_menu), false);
// Handle button events
auto btn_focus_in_event_cb = sigc::mem_fun(*this, &SpinButtonToolItem::on_btn_focus_in_event);
@@ -412,7 +412,16 @@ SpinButtonToolItem::do_popup_menu(GdkEventButton *button_event)
auto menu = create_numeric_menu();
menu->attach_to_widget(*_btn);
menu->show_all();
- menu->popup(button_event->button, button_event->time);
+
+ int button = 0;
+ int time = gtk_get_current_event_time();
+
+ if (button_event) {
+ button = button_event->button;
+ time = button_event->time;
+ }
+
+ menu->popup(button, time);
}
/**
@@ -421,8 +430,8 @@ SpinButtonToolItem::do_popup_menu(GdkEventButton *button_event)
bool
SpinButtonToolItem::on_popup_menu()
{
- g_message("POP!!");
- return false;
+ do_popup_menu(nullptr);
+ return true;
}
/**