summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/ui/dialog-livepatheffect-add.ui166
-rw-r--r--share/ui/style.css69
-rw-r--r--src/ui/dialog/livepatheffect-add.cpp284
-rw-r--r--src/ui/dialog/livepatheffect-add.h2
4 files changed, 361 insertions, 160 deletions
diff --git a/share/ui/dialog-livepatheffect-add.ui b/share/ui/dialog-livepatheffect-add.ui
index 2bc147b65..57336300e 100644
--- a/share/ui/dialog-livepatheffect-add.ui
+++ b/share/ui/dialog-livepatheffect-add.ui
@@ -130,99 +130,114 @@
</packing>
</child>
<child>
- <object class="GtkRadioButton" id="LPESelectorEffectRadioPackLess">
+ <object class="GtkButtonBox">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">center</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
<property name="valign">center</property>
- <property name="active">True</property>
- <property name="draw_indicator">False</property>
- <property name="group">LPESelectorEffectRadioList</property>
+ <property name="homogeneous">True</property>
+ <property name="layout_style">start</property>
<child>
- <object class="GtkImage" id="LPESelectorEffectPackLessImage">
- <property name="name">LPESelectorEffectFavShowImage</property>
+ <object class="GtkRadioButton" id="LPESelectorEffectRadioPackLess">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">center</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
<property name="valign">center</property>
- <property name="pixel_size">22</property>
- <property name="icon_name">pack-less</property>
- <property name="icon_size">2</property>
- <style>
- <class name="fab"/>
- </style>
+ <property name="draw_indicator">False</property>
+ <property name="group">LPESelectorEffectRadioList</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectPackLessImage">
+ <property name="name">LPESelectorEffectFavShowImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">22</property>
+ <property name="icon_name">pack-less</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="fab"/>
+ </style>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">1</property>
+ <property name="position">0</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="padding">1</property>
- <property name="position">5</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="LPESelectorEffectRadioPackMore">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="draw_indicator">False</property>
- <property name="group">LPESelectorEffectRadioList</property>
<child>
- <object class="GtkImage" id="LPESelectorEffectPackMoreImage">
- <property name="name">LPESelectorEffectFavShowImage</property>
+ <object class="GtkRadioButton" id="LPESelectorEffectRadioPackMore">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">center</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
<property name="valign">center</property>
- <property name="pixel_size">22</property>
- <property name="icon_name">pack-more</property>
- <property name="icon_size">2</property>
- <style>
- <class name="fab"/>
- </style>
+ <property name="draw_indicator">False</property>
+ <property name="group">LPESelectorEffectRadioList</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectPackMoreImage">
+ <property name="name">LPESelectorEffectFavShowImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">22</property>
+ <property name="icon_name">pack-more</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="fab"/>
+ </style>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">1</property>
+ <property name="position">1</property>
+ </packing>
</child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="padding">1</property>
- <property name="position">6</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="LPESelectorEffectRadioList">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">center</property>
- <property name="valign">center</property>
- <property name="draw_indicator">False</property>
<child>
- <object class="GtkImage" id="LPESelectorEffectListImage">
- <property name="name">LPESelectorEffectFavShowImage</property>
+ <object class="GtkRadioButton" id="LPESelectorEffectRadioList">
<property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="halign">center</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="halign">start</property>
<property name="valign">center</property>
- <property name="pixel_size">27</property>
- <property name="icon_name">hamburger-menu</property>
- <property name="icon_size">2</property>
- <style>
- <class name="fab"/>
- </style>
+ <property name="active">True</property>
+ <property name="draw_indicator">False</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectListImage">
+ <property name="name">LPESelectorEffectFavShowImage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">center</property>
+ <property name="valign">center</property>
+ <property name="pixel_size">27</property>
+ <property name="icon_name">hamburger-menu</property>
+ <property name="icon_size">2</property>
+ <style>
+ <class name="fab"/>
+ </style>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="padding">1</property>
+ <property name="position">2</property>
+ </packing>
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
- <property name="padding">1</property>
- <property name="position">7</property>
+ <property name="position">5</property>
</packing>
</child>
<child>
@@ -234,7 +249,7 @@
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">4</property>
- <property name="position">8</property>
+ <property name="position">7</property>
</packing>
</child>
<child>
@@ -264,7 +279,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">9</property>
+ <property name="position">8</property>
</packing>
</child>
</object>
@@ -596,6 +611,7 @@
</child>
<child>
<object class="GtkButtonBox" id="LPESelectorButtonBox">
+ <property name="name">LPESelectorButtonBox</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">center</property>
diff --git a/share/ui/style.css b/share/ui/style.css
index 1ce6fe819..380b66078 100644
--- a/share/ui/style.css
+++ b/share/ui/style.css
@@ -190,6 +190,29 @@ spinbutton undershoot {
outline-style: none;
}
+.inksmall {
+ font-size: 11px;
+}
+
+.inkswitch slider {
+ min-width: 18px;
+ min-height: 18px;
+}
+
+.inkswitch image {
+ color: transparent;
+ background-color: transparent;
+ background-image: image(transparent);
+ -gtk-icon-style:symbolic;
+}
+
+.inkswitch {
+ margin: 2px;
+ padding: 0;
+ font-size: 8px;
+}
+
+
#LPEDialogSelector,
#LPEDialogSelector .frame,
#LPEDialogSelector .searchbar {
@@ -266,8 +289,8 @@ spinbutton undershoot {
}
#LPEDialogSelector.LPEPackLess flowboxchild {
-margin:1px;
-padding:1px;
+margin:5px 1px 0px;
+padding:3px 3px 10px 3px;
}
#LPEDialogSelector.LPEPackLess flowboxchild label {
font-size:14px;
@@ -276,36 +299,36 @@ font-size:14px;
font-size:13px;
}
-#SelectorsAndStyleDialog button {
- padding: 4px;
- min-height: 16px;
- margin: 2px;
- padding: 2px;
+#LPEDialogSelector.LPEList .lpename {
+ margin-bottom: 1px;
+ font-weight:bold;
}
-
-.inksmall {
- font-size: 11px;
+#LPEDialogSelector.LPEList flowboxchild {
+ padding:3px 1px 3px 10px;
+ margin:1px 0px 1px;
+ border-radius:0;
+ border-style:dotted;
+ border-color:@theme_fg_color;
+ border-width: 0 0 1px 0;
}
-
-.inkswitch slider {
- min-width: 18px;
- min-height: 18px;
+#LPEDialogSelector.LPEList flowboxchild:selected {
+ border-style:none;
+ margin:-3px 0px 0px;
+ padding:4px 1px 4px 10px;
}
-.inkswitch image {
- color: transparent;
- background-color: transparent;
- background-image: image(transparent);
- -gtk-icon-style:symbolic;
+#LPEDialogSelector.LPEList #LPESelectorFlowBox *:selected #LPESelectorEffectFavTop,
+#LPEDialogSelector.LPEList #LPESelectorFlowBox *:selected:focus #LPESelectorEffectFavTop {
+ opacity: 1;
}
-.inkswitch {
+#SelectorsAndStyleDialog button {
+ padding: 4px;
+ min-height: 16px;
margin: 2px;
- padding: 0;
- font-size: 8px;
+ padding: 2px;
}
-
#XMLAndAttributesDialog .toggle,
#SelectorsAndStyleDialog .toggle {
min-width: 18px;
diff --git a/src/ui/dialog/livepatheffect-add.cpp b/src/ui/dialog/livepatheffect-add.cpp
index 4ea581989..0a4c799cf 100644
--- a/src/ui/dialog/livepatheffect-add.cpp
+++ b/src/ui/dialog/livepatheffect-add.cpp
@@ -102,7 +102,7 @@ LivePathEffectAdd::LivePathEffectAdd()
_builder->get_widget("LPESelectorEffectRadioPackMore", _LPESelectorEffectRadioPackMore);
- _LPEFilter->signal_search_changed().connect(sigc::bind(sigc::mem_fun(*this, &LivePathEffectAdd::on_search), false));
+ _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);
_LPESelectorFlowBox->signal_set_focus_child().connect(sigc::mem_fun(*this, &LivePathEffectAdd::on_focus));
@@ -153,9 +153,11 @@ LivePathEffectAdd::LivePathEffectAdd()
sigc::mem_fun(*this, &LivePathEffectAdd::pop_description), builder_effect));
Gtk::EventBox *LPESelectorEffectEventFav;
builder_effect->get_widget("LPESelectorEffectEventFav", LPESelectorEffectEventFav);
+ Gtk::Image *fav = dynamic_cast<Gtk::Image *>(LPESelectorEffectEventFav->get_child());
if (sp_has_fav(LPEName->get_text())) {
- Gtk::Image *fav = dynamic_cast<Gtk::Image *>(LPESelectorEffectEventFav->get_child());
fav->set_from_icon_name("draw-star", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
+ } else {
+ fav->set_from_icon_name("draw-star-outline", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
}
Gtk::EventBox *LPESelectorEffectEventFavTop;
builder_effect->get_widget("LPESelectorEffectEventFavTop", LPESelectorEffectEventFavTop);
@@ -163,7 +165,12 @@ LivePathEffectAdd::LivePathEffectAdd()
sigc::mem_fun(*this, &LivePathEffectAdd::fav_toggler), builder_effect));
LPESelectorEffectEventFavTop->signal_button_press_event().connect(sigc::bind<Glib::RefPtr<Gtk::Builder>>(
sigc::mem_fun(*this, &LivePathEffectAdd::fav_toggler), builder_effect));
-
+ Gtk::Image *favtop = dynamic_cast<Gtk::Image *>(LPESelectorEffectEventFavTop->get_child());
+ if (sp_has_fav(LPEName->get_text())) {
+ favtop->set_from_icon_name("draw-star", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
+ } else {
+ favtop->set_from_icon_name("draw-star-outline", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
+ }
Gtk::EventBox *LPESelectorEffectEventApply;
builder_effect->get_widget("LPESelectorEffectEventApply", LPESelectorEffectEventApply);
LPESelectorEffectEventApply->signal_button_press_event().connect(
@@ -244,9 +251,11 @@ const LivePathEffect::EnumEffectData<LivePathEffect::EffectType> *LivePathEffect
void LivePathEffectAdd::viewChanged(gint mode)
{
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ bool changed = false;
if (mode == 2 &&
!_LPEDialogSelector->get_style_context()->has_class("LPEList"))
{
+ prefs->setInt("/dialogs/livepatheffect/dialogmode", 2);
_LPEDialogSelector->get_style_context()->add_class("LPEList");
_LPEDialogSelector->get_style_context()->remove_class("LPEPackLess");
_LPEDialogSelector->get_style_context()->remove_class("LPEPackMore");
@@ -254,11 +263,11 @@ void LivePathEffectAdd::viewChanged(gint mode)
_LPESelectorEffectRadioPackLess->get_style_context()->remove_class("active");
_LPESelectorEffectRadioPackMore->get_style_context()->remove_class("active");
_LPESelectorFlowBox->set_max_children_per_line(1);
- prefs->setInt("/dialogs/livepatheffect/dialogmode", 2);
- on_search(true);
+ changed = true;
} else if (mode == 1 &&
!_LPEDialogSelector->get_style_context()->has_class("LPEPackMore"))
{
+ prefs->setInt("/dialogs/livepatheffect/dialogmode", 1);
_LPESelectorEffectRadioList->get_style_context()->remove_class("active");
_LPESelectorEffectRadioPackLess->get_style_context()->remove_class("active");
_LPESelectorEffectRadioPackMore->get_style_context()->add_class("active");
@@ -266,10 +275,11 @@ void LivePathEffectAdd::viewChanged(gint mode)
_LPEDialogSelector->get_style_context()->remove_class("LPEPackLess");
_LPEDialogSelector->get_style_context()->add_class("LPEPackMore");
_LPESelectorFlowBox->set_max_children_per_line(30);
- prefs->setInt("/dialogs/livepatheffect/dialogmode", 1);
- on_search(true);
- } else if (!_LPEDialogSelector->get_style_context()->has_class("LPEPackLess"))
+ changed = true;
+ } else if (mode == 0 &&
+ !_LPEDialogSelector->get_style_context()->has_class("LPEPackLess"))
{
+ prefs->setInt("/dialogs/livepatheffect/dialogmode", 0);
_LPESelectorEffectRadioList->get_style_context()->remove_class("active");
_LPESelectorEffectRadioPackLess->get_style_context()->add_class("active");
_LPESelectorEffectRadioPackMore->get_style_context()->remove_class("active");
@@ -277,15 +287,25 @@ void LivePathEffectAdd::viewChanged(gint mode)
_LPEDialogSelector->get_style_context()->add_class("LPEPackLess");
_LPEDialogSelector->get_style_context()->remove_class("LPEPackMore");
_LPESelectorFlowBox->set_max_children_per_line(30);
- prefs->setInt("/dialogs/livepatheffect/dialogmode", 0);
- on_search(true);
+ changed = true;
+
+ }
+ if (changed) {
+ _LPESelectorFlowBox->unset_sort_func();
+ _LPESelectorFlowBox->set_sort_func(sigc::mem_fun(this, &LivePathEffectAdd::on_sort));
+ std::vector< Gtk::FlowBoxChild* > selected = _LPESelectorFlowBox->get_selected_children();
+ if (selected.size() == 1) {
+ _LPESelectorFlowBox->get_selected_children()[0]->grab_focus();
+ }
}
}
void LivePathEffectAdd::on_focus(Gtk::Widget *widget)
{
Gtk::FlowBoxChild *child = dynamic_cast<Gtk::FlowBoxChild *>(widget);
- if (child) {
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ gint mode = prefs->getInt("/dialogs/livepatheffect/dialogmode", 0);
+ if (child && mode != 2) {
for (auto i : _LPESelectorFlowBox->get_children()) {
Gtk::FlowBoxChild *leitem = dynamic_cast<Gtk::FlowBoxChild *>(i);
Gtk::EventBox *eventbox = dynamic_cast<Gtk::EventBox *>(leitem->get_child());
@@ -365,12 +385,22 @@ bool LivePathEffectAdd::fav_toggler(GdkEventButton *evt, Glib::RefPtr<Gtk::Build
builder_effect->get_widget("LPEName", LPEName);
Gtk::Image *LPESelectorEffectFav;
builder_effect->get_widget("LPESelectorEffectFav", LPESelectorEffectFav);
+ Gtk::Image *LPESelectorEffectFavTop;
+ builder_effect->get_widget("LPESelectorEffectFavTop", LPESelectorEffectFavTop);
Gtk::EventBox *LPESelectorEffectEventFavTop;
builder_effect->get_widget("LPESelectorEffectEventFavTop", LPESelectorEffectEventFavTop);
if (LPESelectorEffectFav && LPESelectorEffectEventFavTop) {
if (sp_has_fav(LPEName->get_text())) {
- LPESelectorEffectEventFavTop->set_visible(false);
- LPESelectorEffectEventFavTop->hide();
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ gint mode = prefs->getInt("/dialogs/livepatheffect/dialogmode", 0);
+ if (mode == 2) {
+ LPESelectorEffectEventFavTop->set_visible(true);
+ LPESelectorEffectEventFavTop->show();
+ } else {
+ LPESelectorEffectEventFavTop->set_visible(false);
+ LPESelectorEffectEventFavTop->hide();
+ }
+ LPESelectorEffectFavTop->set_from_icon_name("draw-star-outline", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
LPESelectorEffectFav->set_from_icon_name("draw-star-outline", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
sp_remove_fav(LPEName->get_text());
LPESelectorEffect->get_parent()->get_style_context()->remove_class("lpefav");
@@ -382,6 +412,7 @@ bool LivePathEffectAdd::fav_toggler(GdkEventButton *evt, Glib::RefPtr<Gtk::Build
} else {
LPESelectorEffectEventFavTop->set_visible(true);
LPESelectorEffectEventFavTop->show();
+ LPESelectorEffectFavTop->set_from_icon_name("draw-star", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
LPESelectorEffectFav->set_from_icon_name("draw-star", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
sp_add_fav(LPEName->get_text());
LPESelectorEffect->get_parent()->get_style_context()->add_class("lpefav");
@@ -485,35 +516,14 @@ bool LivePathEffectAdd::on_filter(Gtk::FlowBoxChild *child)
}
child->set_valign(Gtk::ALIGN_START);
Gtk::EventBox *eventbox = dynamic_cast<Gtk::EventBox *>(child->get_child());
- Inkscape::Preferences *prefs = Inkscape::Preferences::get();
- gint mode = prefs->getInt("/dialogs/livepatheffect/dialogmode", 0);
- if (mode == 2) {
- eventbox->set_halign(Gtk::ALIGN_START);
- } else {
- eventbox->set_halign(Gtk::ALIGN_CENTER);
- }
if (eventbox) {
Gtk::Box *box = dynamic_cast<Gtk::Box *>(eventbox->get_child());
- if (mode == 2) {
- box->set_orientation(Gtk::ORIENTATION_HORIZONTAL);
- } else {
- box->set_orientation(Gtk::ORIENTATION_VERTICAL);
- }
if (box) {
std::vector<Gtk::Widget *> contents = box->get_children();
Gtk::Overlay *overlay = dynamic_cast<Gtk::Overlay *>(contents[0]);
std::vector<Gtk::Widget *> content_overlay = overlay->get_children();
Gtk::Label *lpename = dynamic_cast<Gtk::Label *>(contents[1]);
- if (lpename) {
- if (mode == 2) {
- lpename->set_justify(Gtk::JUSTIFY_LEFT);
- lpename->set_halign(Gtk::ALIGN_START);
- } else {
- lpename->set_justify(Gtk::JUSTIFY_CENTER);
- lpename->set_halign(Gtk::ALIGN_CENTER);
- }
- }
if (!sp_has_fav(lpename->get_text()) && _showfavs) {
return false;
}
@@ -523,31 +533,8 @@ bool LivePathEffectAdd::on_filter(Gtk::FlowBoxChild *child)
return false;
}
}
- Gtk::Image *icon = dynamic_cast<Gtk::Image *>(content_overlay[0]);
- if (icon) {
- if (mode == 2) {
- icon->set_pixel_size(40);
- } else {
- icon->set_pixel_size(60);
- }
- }
- Gtk::EventBox *lpemore = dynamic_cast<Gtk::EventBox *>(contents[4]);
- if (lpemore) {
- if (mode == 2) {
- lpemore->hide();
- } else {
- lpemore->show();
- }
- }
Gtk::Label *lpedesc = dynamic_cast<Gtk::Label *>(contents[2]);
if (lpedesc) {
- if (mode == 2) {
- lpedesc->show();
- lpedesc->set_ellipsize(Pango::ELLIPSIZE_END);
- } else {
- lpedesc->hide();
- lpedesc->set_ellipsize(Pango::ELLIPSIZE_NONE);
- }
size_t s = lpedesc->get_text().uppercase().find(_LPEFilter->get_text().uppercase(), 0);
if (s != -1) {
_visiblelpe++;
@@ -596,7 +583,7 @@ void LivePathEffectAdd::reload_effect_list()
}
}
-void LivePathEffectAdd::on_search(bool nowarn)
+void LivePathEffectAdd::on_search()
{
_visiblelpe = 0;
_LPESelectorFlowBox->invalidate_filter();
@@ -619,9 +606,6 @@ void LivePathEffectAdd::on_search(bool nowarn)
_LPEInfo->get_style_context()->remove_class("lpeinfowarn");
}
}
- if (nowarn) {
- _LPEInfo->set_visible(false);
- }
}
int LivePathEffectAdd::on_sort(Gtk::FlowBoxChild *child1, Gtk::FlowBoxChild *child2)
@@ -629,56 +613,234 @@ int LivePathEffectAdd::on_sort(Gtk::FlowBoxChild *child1, Gtk::FlowBoxChild *chi
Glib::ustring name1 = "";
Glib::ustring name2 = "";
Gtk::EventBox *eventbox = dynamic_cast<Gtk::EventBox *>(child1->get_child());
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ gint mode = prefs->getInt("/dialogs/livepatheffect/dialogmode", 0);
+ if (mode == 2) {
+ eventbox->set_halign(Gtk::ALIGN_START);
+ } else {
+ eventbox->set_halign(Gtk::ALIGN_CENTER);
+ }
if (eventbox) {
Gtk::Box *box = dynamic_cast<Gtk::Box *>(eventbox->get_child());
+ if (mode == 2) {
+ box->set_orientation(Gtk::ORIENTATION_HORIZONTAL);
+ } else {
+ box->set_orientation(Gtk::ORIENTATION_VERTICAL);
+ }
if (box) {
std::vector<Gtk::Widget *> contents = box->get_children();
Gtk::Label *lpename = dynamic_cast<Gtk::Label *>(contents[1]);
name1 = lpename->get_text();
+ if (lpename) {
+ if (mode == 2) {
+ lpename->set_justify(Gtk::JUSTIFY_LEFT);
+ lpename->set_halign(Gtk::ALIGN_START);
+ lpename->set_valign(Gtk::ALIGN_CENTER);
+ lpename->set_width_chars(-1);
+ lpename->set_max_width_chars(-1);
+ } else {
+ lpename->set_justify(Gtk::JUSTIFY_CENTER);
+ lpename->set_halign(Gtk::ALIGN_CENTER);
+ lpename->set_valign(Gtk::ALIGN_CENTER);
+ lpename->set_width_chars(14);
+ lpename->set_max_width_chars(23);
+ }
+ }
+ Gtk::EventBox *lpemore = dynamic_cast<Gtk::EventBox *>(contents[4]);
+ if (lpemore) {
+ if (mode == 2) {
+ lpemore->hide();
+ } else {
+ if (child1->is_selected()) {
+ lpemore->hide();
+ } else {
+ lpemore->show();
+ }
+ }
+ }
+ Gtk::ButtonBox *lpebuttonbox = dynamic_cast<Gtk::ButtonBox *>(contents[5]);
+ if (lpebuttonbox) {
+ if (mode == 2) {
+ lpebuttonbox->hide();
+ } else {
+ if (child1->is_selected()) {
+ lpebuttonbox->show();
+ } else {
+ lpebuttonbox->hide();
+ }
+ }
+ }
+ Gtk::Label *lpedesc = dynamic_cast<Gtk::Label *>(contents[2]);
+ if (lpedesc) {
+ if (mode == 2) {
+ lpedesc->show();
+ lpedesc->set_justify(Gtk::JUSTIFY_LEFT);
+ lpedesc->set_halign(Gtk::ALIGN_START);
+ lpedesc->set_valign(Gtk::ALIGN_CENTER);
+ lpedesc->set_ellipsize(Pango::ELLIPSIZE_END);
+ } else {
+ lpedesc->hide();
+ lpedesc->set_justify(Gtk::JUSTIFY_CENTER);
+ lpedesc->set_halign(Gtk::ALIGN_CENTER);
+ lpedesc->set_valign(Gtk::ALIGN_CENTER);
+ lpedesc->set_ellipsize(Pango::ELLIPSIZE_NONE);
+ }
+ }
Gtk::Overlay *overlay = dynamic_cast<Gtk::Overlay *>(contents[0]);
if (overlay) {
std::vector<Gtk::Widget *> contents_overlay = overlay->get_children();
+ Gtk::Image *icon = dynamic_cast<Gtk::Image *>(contents_overlay[0]);
+ if (icon) {
+ if (mode == 2) {
+ icon->set_pixel_size(40);
+ icon->set_margin_right(25);
+ overlay->set_margin_right(5);
+ } else {
+ icon->set_pixel_size(60);
+ icon->set_margin_right(0);
+ overlay->set_margin_right(0);
+ }
+ }
Gtk::EventBox *LPESelectorEffectEventFavTop = dynamic_cast<Gtk::EventBox *>(contents_overlay[1]);
if (LPESelectorEffectEventFavTop) {
+ Gtk::Image *fav = dynamic_cast<Gtk::Image *>(LPESelectorEffectEventFavTop->get_child());
if (sp_has_fav(name1)) {
+ fav->set_from_icon_name("draw-star", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
LPESelectorEffectEventFavTop->set_visible(true);
LPESelectorEffectEventFavTop->show();
child1->get_style_context()->add_class("lpefav");
child1->get_style_context()->remove_class("lpenormal");
} else if (!sp_has_fav(name1)) {
+ fav->set_from_icon_name("draw-star-outline", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
LPESelectorEffectEventFavTop->set_visible(false);
LPESelectorEffectEventFavTop->hide();
child1->get_style_context()->remove_class("lpefav");
child1->get_style_context()->add_class("lpenormal");
}
+ if (mode == 2) {
+ LPESelectorEffectEventFavTop->set_visible(true);
+ LPESelectorEffectEventFavTop->show();
+ LPESelectorEffectEventFavTop->set_halign(Gtk::ALIGN_END);
+ LPESelectorEffectEventFavTop->set_valign(Gtk::ALIGN_CENTER);
+ } else {
+ LPESelectorEffectEventFavTop->set_halign(Gtk::ALIGN_END);
+ LPESelectorEffectEventFavTop->set_valign(Gtk::ALIGN_START);
+ }
child1->get_style_context()->add_class("lpe");
}
}
}
}
eventbox = dynamic_cast<Gtk::EventBox *>(child2->get_child());
+ if (mode == 2) {
+ eventbox->set_halign(Gtk::ALIGN_START);
+ } else {
+ eventbox->set_halign(Gtk::ALIGN_CENTER);
+ }
if (eventbox) {
Gtk::Box *box = dynamic_cast<Gtk::Box *>(eventbox->get_child());
+ if (mode == 2) {
+ box->set_orientation(Gtk::ORIENTATION_HORIZONTAL);
+ } else {
+ box->set_orientation(Gtk::ORIENTATION_VERTICAL);
+ }
if (box) {
std::vector<Gtk::Widget *> contents = box->get_children();
Gtk::Label *lpename = dynamic_cast<Gtk::Label *>(contents[1]);
name2 = lpename->get_text();
+ if (lpename) {
+ if (mode == 2) {
+ lpename->set_justify(Gtk::JUSTIFY_LEFT);
+ lpename->set_halign(Gtk::ALIGN_START);
+ lpename->set_valign(Gtk::ALIGN_CENTER);
+ lpename->set_width_chars(-1);
+ lpename->set_max_width_chars(-1);
+ } else {
+ lpename->set_justify(Gtk::JUSTIFY_CENTER);
+ lpename->set_halign(Gtk::ALIGN_CENTER);
+ lpename->set_valign(Gtk::ALIGN_CENTER);
+ lpename->set_width_chars(14);
+ lpename->set_max_width_chars(23);
+ }
+ }
+ Gtk::EventBox *lpemore = dynamic_cast<Gtk::EventBox *>(contents[4]);
+ if (lpemore) {
+ if (mode == 2) {
+ lpemore->hide();
+ } else {
+ if (child2->is_selected()) {
+ lpemore->hide();
+ } else {
+ lpemore->show();
+ }
+ }
+ }
+ Gtk::ButtonBox *lpebuttonbox = dynamic_cast<Gtk::ButtonBox *>(contents[5]);
+ if (lpebuttonbox) {
+ if (mode == 2) {
+ lpebuttonbox->hide();
+ } else {
+ if (child2->is_selected()) {
+ lpebuttonbox->show();
+ } else {
+ lpebuttonbox->hide();
+ }
+ }
+ }
+ Gtk::Label *lpedesc = dynamic_cast<Gtk::Label *>(contents[2]);
+ if (lpedesc) {
+ if (mode == 2) {
+ lpedesc->show();
+ lpedesc->set_justify(Gtk::JUSTIFY_LEFT);
+ lpedesc->set_halign(Gtk::ALIGN_START);
+ lpedesc->set_valign(Gtk::ALIGN_CENTER);
+ lpedesc->set_ellipsize(Pango::ELLIPSIZE_END);
+ } else {
+ lpedesc->hide();
+ lpedesc->set_justify(Gtk::JUSTIFY_CENTER);
+ lpedesc->set_halign(Gtk::ALIGN_CENTER);
+ lpedesc->set_valign(Gtk::ALIGN_CENTER);
+ lpedesc->set_ellipsize(Pango::ELLIPSIZE_NONE);
+ }
+ }
Gtk::Overlay *overlay = dynamic_cast<Gtk::Overlay *>(contents[0]);
if (overlay) {
std::vector<Gtk::Widget *> contents_overlay = overlay->get_children();
+ Gtk::Image *icon = dynamic_cast<Gtk::Image *>(contents_overlay[0]);
+ if (icon) {
+ if (mode == 2) {
+ icon->set_pixel_size(33);
+ icon->set_margin_right(40);
+ } else {
+ icon->set_pixel_size(60);
+ icon->set_margin_right(0);
+ }
+ }
Gtk::EventBox *LPESelectorEffectEventFavTop = dynamic_cast<Gtk::EventBox *>(contents_overlay[1]);
+ Gtk::Image *fav = dynamic_cast<Gtk::Image *>(LPESelectorEffectEventFavTop->get_child());
if (LPESelectorEffectEventFavTop) {
if (sp_has_fav(name2)) {
+ fav->set_from_icon_name("draw-star", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
LPESelectorEffectEventFavTop->set_visible(true);
LPESelectorEffectEventFavTop->show();
child2->get_style_context()->add_class("lpefav");
child2->get_style_context()->remove_class("lpenormal");
} else if (!sp_has_fav(name2)) {
+ fav->set_from_icon_name("draw-star-outline", Gtk::IconSize(Gtk::ICON_SIZE_SMALL_TOOLBAR));
LPESelectorEffectEventFavTop->set_visible(false);
LPESelectorEffectEventFavTop->hide();
child2->get_style_context()->remove_class("lpefav");
child2->get_style_context()->add_class("lpenormal");
}
+ if (mode == 2) {
+ LPESelectorEffectEventFavTop->set_visible(true);
+ LPESelectorEffectEventFavTop->show();
+ LPESelectorEffectEventFavTop->set_halign(Gtk::ALIGN_END);
+ LPESelectorEffectEventFavTop->set_valign(Gtk::ALIGN_CENTER);
+ } else {
+ LPESelectorEffectEventFavTop->set_halign(Gtk::ALIGN_END);
+ LPESelectorEffectEventFavTop->set_valign(Gtk::ALIGN_START);
+ }
child2->get_style_context()->add_class("lpe");
}
}
diff --git a/src/ui/dialog/livepatheffect-add.h b/src/ui/dialog/livepatheffect-add.h
index db362ff5e..56890099b 100644
--- a/src/ui/dialog/livepatheffect-add.h
+++ b/src/ui/dialog/livepatheffect-add.h
@@ -65,7 +65,7 @@ class LivePathEffectAdd {
void onClose();
bool on_filter(Gtk::FlowBoxChild *child);
int on_sort(Gtk::FlowBoxChild *child1, Gtk::FlowBoxChild *child2);
- void on_search(bool nowarn);
+ void on_search();
void on_focus(Gtk::Widget *widg);
bool pop_description(GdkEventCrossing *evt, Glib::RefPtr<Gtk::Builder> builder_effect);
bool hide_pop_description(GdkEventCrossing *evt);