summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/livepatheffect-add.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/livepatheffect-add.cpp')
-rw-r--r--src/ui/dialog/livepatheffect-add.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ui/dialog/livepatheffect-add.cpp b/src/ui/dialog/livepatheffect-add.cpp
index e9c23763d..06cde1e12 100644
--- a/src/ui/dialog/livepatheffect-add.cpp
+++ b/src/ui/dialog/livepatheffect-add.cpp
@@ -96,7 +96,9 @@ LivePathEffectAdd::LivePathEffectAdd()
_builder->get_widget("LPEExperimental", _LPEExperimental);
_builder->get_widget("LPEScrolled", _LPEScrolled);
_builder->get_widget("LPESelectorEffectEventFavShow", _LPESelectorEffectEventFavShow);
+ _builder->get_widget("LPESelectorEffectEventHamburgerTooggle", _LPESelectorEffectEventHamburgerTooggle);
_builder->get_widget("LPESelectorEffectInfoEventBox", _LPESelectorEffectInfoEventBox);
+
_LPEFilter->signal_search_changed().connect(sigc::mem_fun(*this, &LivePathEffectAdd::on_search));
_LPEDialogSelector->add_events(Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK |
Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK | Gdk::KEY_PRESS_MASK);
@@ -188,6 +190,8 @@ LivePathEffectAdd::LivePathEffectAdd()
_LPESelectorFlowBox->set_activate_on_single_click(false);
_visiblelpe = _LPESelectorFlowBox->get_children().size();
_LPEInfo->set_visible(false);
+ _LPESelectorEffectEventHamburgerTooggle->signal_button_press_event().connect(
+ sigc::mem_fun(*this, &LivePathEffectAdd::togglelist));
_LPESelectorEffectEventFavShow->signal_enter_notify_event().connect(sigc::bind<GtkWidget *>(
sigc::mem_fun(*this, &LivePathEffectAdd::mouseover), GTK_WIDGET(_LPESelectorEffectEventFavShow->gobj())));
_LPESelectorEffectEventFavShow->signal_leave_notify_event().connect(sigc::bind<GtkWidget *>(
@@ -217,6 +221,18 @@ const LivePathEffect::EnumEffectData<LivePathEffect::EffectType> *LivePathEffect
return instance()._to_add;
}
+bool LivePathEffectAdd::togglelist(GdkEventButton *evt)
+{
+ if (_LPEDialogSelector->get_style_context()->has_class("LPElist")) {
+ _LPEDialogSelector->get_style_context()->remove_class("LPElist");
+ _LPESelectorFlowBox->set_max_children_per_line(1);
+ } else {
+ _LPEDialogSelector->get_style_context()->add_class("LPElist");
+ _LPESelectorFlowBox->set_max_children_per_line(30);
+ }
+ return true;
+}
+
void LivePathEffectAdd::on_focus(Gtk::Widget *widget)
{
Gtk::FlowBoxChild *child = dynamic_cast<Gtk::FlowBoxChild *>(widget);