From 06ff374812299f9fad7bc8d74ce6af543419c00d Mon Sep 17 00:00:00 2001 From: Jabiertxof Date: Tue, 17 Sep 2019 21:36:07 +0200 Subject: Lpe dialog listable --- src/ui/dialog/livepatheffect-add.cpp | 16 ++++++++++++++++ src/ui/dialog/livepatheffect-add.h | 2 ++ 2 files changed, 18 insertions(+) (limited to 'src') 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( sigc::mem_fun(*this, &LivePathEffectAdd::mouseover), GTK_WIDGET(_LPESelectorEffectEventFavShow->gobj()))); _LPESelectorEffectEventFavShow->signal_leave_notify_event().connect(sigc::bind( @@ -217,6 +221,18 @@ const LivePathEffect::EnumEffectData *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(widget); diff --git a/src/ui/dialog/livepatheffect-add.h b/src/ui/dialog/livepatheffect-add.h index 2dfd0ce71..89f834dbe 100644 --- a/src/ui/dialog/livepatheffect-add.h +++ b/src/ui/dialog/livepatheffect-add.h @@ -75,6 +75,7 @@ class LivePathEffectAdd { const LivePathEffect::EnumEffectData *to_add); bool expand(GdkEventButton *evt, Glib::RefPtr builder_effect); bool show_fav_toggler(GdkEventButton *evt); + bool togglelist(GdkEventButton *evt); bool mouseover(GdkEventCrossing *evt, GtkWidget *wdg); bool mouseout(GdkEventCrossing *evt, GtkWidget *wdg); void reload_effect_list(); @@ -100,6 +101,7 @@ private: Gtk::Popover *_LPESelectorEffectInfoPop; Gtk::EventBox *_LPESelectorEffectEventFavShow; Gtk::EventBox *_LPESelectorEffectInfoEventBox; + Gtk::EventBox *_LPESelectorEffectEventHamburgerTooggle; Gtk::Switch *_LPEExperimental; Gtk::SearchEntry *_LPEFilter; Gtk::ScrolledWindow *_LPEScrolled; -- cgit v1.2.3