summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-02-13 21:11:55 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-02-18 21:18:27 +0000
commitbc7a5b483b3442aebc9558d3e4640413485901c1 (patch)
tree30ea6beeab3b2651d4b68ea8c66612125cf79971
parentAdd descriptions (diff)
downloadinkscape-bc7a5b483b3442aebc9558d3e4640413485901c1.tar.gz
inkscape-bc7a5b483b3442aebc9558d3e4640413485901c1.zip
Improving window position
-rw-r--r--share/ui/dialog-livepatheffect-add.ui97
-rw-r--r--src/live_effects/effect.cpp2
-rw-r--r--src/ui/dialog/livepatheffect-add.cpp29
-rw-r--r--src/ui/dialog/livepatheffect-add.h2
4 files changed, 83 insertions, 47 deletions
diff --git a/share/ui/dialog-livepatheffect-add.ui b/share/ui/dialog-livepatheffect-add.ui
index ca02fcb4c..2e3ca244c 100644
--- a/share/ui/dialog-livepatheffect-add.ui
+++ b/share/ui/dialog-livepatheffect-add.ui
@@ -248,36 +248,75 @@
<property name="modal">False</property>
<property name="transitions_enabled">False</property>
<child>
- <object class="GtkBox">
+ <object class="GtkEventBox" id="LPESelectorEffectInfoEventBox">
+ <property name="name">LPESelectorEffectInfoEventBox</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkImage" id="LPESelectorEffectInfoIcon">
- <property name="name">LPESelectorEffectInfoIcon</property>
+ <object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="halign">start</property>
- <property name="pixel_size">40</property>
- <property name="icon_name">align-vertical-baseline</property>
- <property name="icon_size">6</property>
+ <child>
+ <object class="GtkImage" id="LPESelectorEffectInfoIcon">
+ <property name="name">LPESelectorEffectInfoIcon</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">start</property>
+ <property name="pixel_size">40</property>
+ <property name="icon_name">align-vertical-baseline</property>
+ <property name="icon_size">6</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPESelectorEffectInfoName">
+ <property name="name">LPESelectorEffectInfoName</property>
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Name</property>
+ <property name="justify">center</property>
+ <property name="wrap">True</property>
+ <property name="max_width_chars">20</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="LPESelectorEffectInfoName">
- <property name="name">LPESelectorEffectInfoName</property>
+ <object class="GtkSeparator">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="LPESelectorEffectInfoDescription">
+ <property name="name">LPESelectorEffectInfoDescription</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="label" translatable="yes">Name</property>
+ <property name="label" translatable="yes">Description</property>
<property name="justify">center</property>
<property name="wrap">True</property>
<property name="max_width_chars">20</property>
@@ -285,42 +324,10 @@
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkSeparator">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="LPESelectorEffectInfoDescription">
- <property name="name">LPESelectorEffectInfoDescription</property>
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="label" translatable="yes">Description</property>
- <property name="justify">center</property>
- <property name="wrap">True</property>
- <property name="max_width_chars">20</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
</child>
</object>
</child>
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index 935b02826..613eef9e6 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -614,7 +614,7 @@ const EnumEffectData<EffectType> LPETypeData[] = {
, N_("Offset") //label
, "offset" //key
, "offset" //icon
- , N_("Offset a ittem also with line joins cusp") //description
+ , N_("Offset a item also with line joins cusp") //description
, true //on_path
, true //on_shape
, true //on_group
diff --git a/src/ui/dialog/livepatheffect-add.cpp b/src/ui/dialog/livepatheffect-add.cpp
index 84090c2e8..cc4375f37 100644
--- a/src/ui/dialog/livepatheffect-add.cpp
+++ b/src/ui/dialog/livepatheffect-add.cpp
@@ -92,6 +92,7 @@ LivePathEffectAdd::LivePathEffectAdd()
_builder->get_widget("LPEExperimentals", _LPEExperimentals);
_builder->get_widget("LPEScrolled", _LPEScrolled);
_builder->get_widget("LPESelectorEffectEventFavShow", _LPESelectorEffectEventFavShow);
+ _builder->get_widget("LPESelectorEffectInfoEventBox", _LPESelectorEffectInfoEventBox);
_LPEFilter->signal_search_changed().connect(sigc::mem_fun(*this, &LivePathEffectAdd::on_search));
_LPESelectorFlowBox->signal_child_activated().connect(sigc::mem_fun(*this, &LivePathEffectAdd::on_activate));
_LPEDialogSelector->add_events(Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK | Gdk::BUTTON_RELEASE_MASK | Gdk::ENTER_NOTIFY_MASK | Gdk::LEAVE_NOTIFY_MASK );
@@ -139,7 +140,6 @@ LivePathEffectAdd::LivePathEffectAdd()
LPESelectorButtonBox->signal_leave_notify_event().connect(sigc::bind<GtkWidget *>(sigc::mem_fun(*this, &LivePathEffectAdd::mouseout), GTK_WIDGET(LPESelectorEffect->gobj())));
LPESelectorEffect->signal_enter_notify_event().connect(sigc::bind<GtkWidget *>(sigc::mem_fun(*this, &LivePathEffectAdd::mouseover), GTK_WIDGET(LPESelectorEffect->gobj())));
LPESelectorEffect->signal_leave_notify_event().connect(sigc::bind<GtkWidget *>(sigc::mem_fun(*this, &LivePathEffectAdd::mouseout), GTK_WIDGET(LPESelectorEffect->gobj())));
-
_LPESelectorFlowBox->insert(*LPESelectorEffect, i);
}
_visiblelpe = _LPESelectorFlowBox->get_children().size();
@@ -147,10 +147,25 @@ LivePathEffectAdd::LivePathEffectAdd()
_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 *>(sigc::mem_fun(*this, &LivePathEffectAdd::mouseout), GTK_WIDGET(_LPESelectorEffectEventFavShow->gobj())));
_LPESelectorEffectEventFavShow->signal_button_press_event().connect(sigc::mem_fun(*this, &LivePathEffectAdd::show_fav_toggler));
+ _LPESelectorEffectInfoEventBox->signal_button_press_event().connect(sigc::mem_fun(*this, &LivePathEffectAdd::hide_pop_description));
+ _LPESelectorEffectInfoEventBox->signal_enter_notify_event().connect(sigc::bind<GtkWidget *>(sigc::mem_fun(*this, &LivePathEffectAdd::mouseover), GTK_WIDGET(_LPESelectorEffectInfoEventBox->gobj())));
+ _LPESelectorEffectInfoEventBox->signal_leave_notify_event().connect(sigc::bind<GtkWidget *>(sigc::mem_fun(*this, &LivePathEffectAdd::mouseout), GTK_WIDGET(_LPESelectorEffectInfoEventBox->gobj())));
_LPESelectorFlowBox->set_sort_func(sigc::mem_fun(*this, &LivePathEffectAdd::on_sort));
_LPESelectorFlowBox->set_filter_func(sigc::mem_fun(*this, &LivePathEffectAdd::on_filter));
_LPEExperimentals->property_active().signal_changed().connect(sigc::mem_fun(*this, &LivePathEffectAdd::reload_effect_list));
_LPEDialogSelector->show_all_children();
+ int width;
+ int height;
+ int original_width;
+ int original_height;
+ _LPEDialogSelector->get_default_size (original_width, original_height);
+ _LPEDialogSelector->get_size (width, height);
+ if( width == original_width && height == original_height ){
+ Gtk::Window *window = SP_ACTIVE_DESKTOP->getToplevel();
+ window->get_size (width, height);
+ _LPEDialogSelector->resize(std::min(width - 300, 1800), height - 300);
+ reload_effect_list();
+ }
}
void LivePathEffectAdd::on_activate(Gtk::FlowBoxChild *child)
@@ -208,6 +223,12 @@ bool LivePathEffectAdd::pop_description(GdkEventButton* evt, Glib::RefPtr<Gtk::B
return true;
}
+bool LivePathEffectAdd::hide_pop_description(GdkEventButton* evt)
+{
+ _LPESelectorEffectInfoPop->hide();
+ return true;
+}
+
bool LivePathEffectAdd::fav_toggler(GdkEventButton* evt, Glib::RefPtr<Gtk::Builder> builder_effect)
{
Gtk::EventBox *LPESelectorEffect;
@@ -320,6 +341,12 @@ void LivePathEffectAdd::reload_effect_list()
_LPEInfo->set_visible(false);
_LPEInfo->get_style_context()->remove_class("lpeinfowarn");
}
+ if (!_showfavs &&
+ _LPEFilter->get_text().empty() &&
+ _LPEDialogSelector->get_allocated_height() - 200 > _LPESelectorFlowBox->get_allocated_height())
+ {
+ _LPEDialogSelector->resize(_LPEDialogSelector->get_allocated_width(), _LPESelectorFlowBox->get_allocated_height() + 200);
+ }
}
void LivePathEffectAdd::on_search()
diff --git a/src/ui/dialog/livepatheffect-add.h b/src/ui/dialog/livepatheffect-add.h
index 709cf2996..af411715d 100644
--- a/src/ui/dialog/livepatheffect-add.h
+++ b/src/ui/dialog/livepatheffect-add.h
@@ -62,6 +62,7 @@ public:
void on_search();
void on_activate(Gtk::FlowBoxChild *child);
bool pop_description(GdkEventButton* evt, Glib::RefPtr<Gtk::Builder> builder_effect);
+ bool hide_pop_description(GdkEventButton* evt);
bool fav_toggler(GdkEventButton* evt, Glib::RefPtr<Gtk::Builder> builder_effect);
bool show_fav_toggler(GdkEventButton* evt);
bool mouseover(GdkEventCrossing* evt, GtkWidget *wdg);
@@ -88,6 +89,7 @@ private:
Gtk::FlowBox *_LPESelectorFlowBox;
Gtk::Popover *_LPESelectorEffectInfoPop;
Gtk::EventBox *_LPESelectorEffectEventFavShow;
+ Gtk::EventBox *_LPESelectorEffectInfoEventBox;
Gtk::Switch * _LPEExperimentals;
Gtk::SearchEntry *_LPEFilter;
Gtk::ScrolledWindow *_LPEScrolled;