Commit Graph

64 Commits

Author SHA1 Message Date
Carsten Haitzler b5a6635137 gad bar - make right menu items more obvious and simple 2020-04-08 10:55:31 +01:00
Chris Michael 2026bbbeee bryce: add missing EINA_UNUSED for unused function parameter 2018-11-08 10:29:24 -05:00
Carsten Haitzler 326271e009 gadget/bryce - add cancellation cb for the context menu 2018-10-26 15:36:56 +01:00
Carsten Haitzler b92b546d36 e menu - allow hold mode to be turned off
hold mode is where if u hold mosue down menu stays only as long as
mouse is held down... then dismissed on up. doesnt work well when youa
re trying to overload a single click with longpresses and so on -
optionally turn it off. used in gadgets.
2018-10-17 14:35:49 +01:00
Carsten Haitzler 06ed527123 bryce - dont segv when unplugging a screen 2018-10-11 16:25:10 +01:00
Carsten Haitzler e4339f4819 bryce - improve usability from code and user by having std right menu
now right click on any gagdte in bryce and they ALL have a menu that
allows removal of the gagdte bar or the gadget as well as access to
gadget settings AND the ability for gadgets to extendthis menu like
lunhcer does per icon. now it's standard behavior everywhere which is
much easier to use and discover. it also removes code from every
gadget to do their own "button 3" handling as its handled centrally
making the code in gadgets simpler.

this is part of my effort to improve usability (mostly discoverability
and accessibility of settings/features).

also  long press left mouse gets u gadget right click menu

this has to move many modules/gadgets actions to mouse up instead of
mouse down so the bryce has a chance to trap the events first and set
hold flags. but now long press for 0.5 sec and bryce menu come sup
(with left mouse .. so touch friendly).

in addition move context menu hanbdling to e_gadget instead of in
bryce and in e_gadget. a context callback is called so different
systems can still do different things. this should probably change to
always pop up a mnenu and simple call populate callbacks for site
owner specific content.

all in all it makes the new gagdtes more consistent, easier to use
(without a right mouse button), doesn't need special action bindings
etc. etc.
2018-10-11 16:25:10 +01:00
Carsten Haitzler a9b303baa5 bryce/gadgets - pass orientation to the style wrapper around the gadget
bryce was missing the ability to espose orientation to the child
items, so they were the same irrespective of orientation.

i also notice that orientaiont is a simple horiz/vert ... so no
ability to special case corners etc. in the theme... :( not sure if
this should be changed.

also fix the aspect calculation to round up correctly to avoid
off-by-1 pixel gaps i noticed with the pager - necessary for the
styling in the flat theme to be right.
2018-10-11 16:25:10 +01:00
Mike Blumenkrantz af24997906 disable bounce for gadget bar scrollers
fix T6721
2018-02-22 08:49:34 -05:00
Mike Blumenkrantz 109d7897b0 show title for gadget bar menus 2018-01-22 15:20:38 -05:00
Mike Blumenkrantz 0fa5d3d0e3 rename Bryce -> Gadget Bar in ui elements
this was a joke that accidentally went on way longer than intended
2018-01-12 15:23:52 -05:00
Mike Blumenkrantz 99db9e2557 more E_BITFIELD conversions 2017-11-08 09:22:24 -05:00
Mike Blumenkrantz d7060c7c6f redo bryce eventing
post events are way harder and I don't know why I didn't do this in the
first place?

fix T5974
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 7c726172e4 handle gadget site layouts using accurate parent geometry 2017-10-03 12:39:03 -04:00
Mike Blumenkrantz 49e2a31cfc block recursive mouse eventing in bryce action handlers
ensure that only the outermost event adds a post callback to avoid
triggering actions multiple times
2017-09-14 14:37:12 -04:00
Mike Blumenkrantz 1902befc92 Revert "force recalc on bryce scroller when doing recalc on gadget site"
This reverts commit 87515abd2a.

this breaks scaling since the min size must be reset in order to trigger a
resize
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 175c614838 add spacer gadgets for bryces
this is a rectangle which dynamically resizes based on the available space
in the bar. it can only be added when autosize is disabled, and setting
autosize will remove all spacers

fix T5914
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz a72b88c0e7 handle bryce setup when theme is broken
fix T5889
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz 3271efaba4 capture zone for newly-added bryces based on name
the last number is always the zone number
2017-08-16 10:58:51 -04:00
Mike Blumenkrantz 6d5bb4ac5c use explicit rounding for bryce scaling 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 7eba1a99ed track zone states and modify bryces accordingly 2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 4ced6d8591 clamp vertical bryce size to useful zone geometry
this should improve layouts when vertical and horizontal layouts are mixed
2017-08-04 16:05:15 -04:00
Mike Blumenkrantz 24ae5b53fb perform immediate move on bryce during autosize
ensure that positioning doesn't animate across zones and break config

fix T5666
2017-07-21 14:43:36 -04:00
Mike Blumenkrantz 638657f043 always use jobs to create bryce menus
ensure that menus can never be created during a post event callback in
order to avoid crashes

ref T3144
fix T5262
2017-03-17 13:16:59 -04:00
Stephen 'Okra' Houston 4510e474f6 Revert "Bryce: Don't proceed to process the mouse down event structure if it is null in the post callback."
This reverts commit 25950ccfa9.
Rever this commit to allow a more proper fix.
2017-02-21 11:27:52 -06:00
Stephen 'Okra' Houston 25950ccfa9 Bryce: Don't proceed to process the mouse down event structure if it is null in the post callback. 2017-02-21 11:06:45 -06:00
Derek Foreman 4cf555f36e Replace all timer_reset with timer_loop_reset
Another sed bomb - didn't occur to me first time around to
check for this.  Cleans up more clock_gettime calls.
2017-02-06 15:59:25 -06:00
Derek Foreman 73aecd73ab Replace all timer_add with timer_loop_add
So yeah, I've literally used sed to replace every occurrence of
ecore_time_add() with ecore_timer_loop_add() because I'm reasonably
confident that no part of E has a legitimate need for timer based on the
exact current time.

It would be really nice if I'm not wrong. :)

The reason for this is the incredible spew of clock_gettime() calls I'm
seeing on an ARM system (that should have a vdso for gettime, but...)
This can amount to thousands of system calls per second.

 #YOLO
2017-02-03 15:52:28 -06:00
Mike Blumenkrantz 3bae673848 null out bryce and site pointers when deleting bryce object
fixes handling of bryces when changing screen setup
2016-12-09 11:52:03 -05:00
Mike Blumenkrantz 7d29dbf4ec send orientation signal to bryce scroller theme 2016-11-10 11:52:04 -05:00
Mike Blumenkrantz 7911827a21 keep bryce starting size unscaled 2016-11-09 11:21:15 -05:00
Mike Blumenkrantz 464eded3a3 handle e_scale correctly in bryces 2016-11-09 10:48:47 -05:00
Mike Blumenkrantz a08654f773 force bryce repositioning onto target zone during startup
ensure that subsequent operations do not accidentally the bryce's zone

fix T4784
2016-11-07 11:38:34 -05:00
Mike Blumenkrantz 353ad6be11 move bryces to E_LAYER_DESKTOP_TOP when not above windows
moderately sure this won't conflict with anything important...

fix T4819
2016-11-03 12:54:53 -04:00
Mike Blumenkrantz 33740ca306 return correct values from bryce post event callbacks
I referenced elm scrollable for this when writing it. past me was a moron
for using reference code instead of reading the underlying implementation.

fixes scrolling
2016-11-03 11:45:35 -04:00
Mike Blumenkrantz 4d86c98ce7 do not return early from _bryce_position()
this causes the returned coords to be garbage values, likely leading to
the bryce being positioned or animating off to the upper-right corner
of the universe that exists beyond the canvas
2016-11-01 13:56:08 -04:00
Mike Blumenkrantz 6e39997ad1 add smart callback for when gadgets get reparented
this can be useful for gadgets which (inexplicably) need to set min size hints
2016-11-01 13:29:45 -04:00
Mike Blumenkrantz 5d2028a300 do not modify bryce zone/name during startup
this breaks bryce init by moving all bryces to zone 0

fix T4784
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz 349fc5e910 avoid potential divide by zero during bryce startup 2016-10-31 12:34:29 -04:00
Mike Blumenkrantz bf1075ff4b clamp bryce position to its parent zone
fixes case where large bryces could overflow their zones

ref T4784
2016-10-31 12:34:29 -04:00
Mike Blumenkrantz f8ddfd3245 fix use after free when renaming a bryce
fix T4784
2016-10-29 11:36:48 -04:00
Mike Blumenkrantz 87515abd2a force recalc on bryce scroller when doing recalc on gadget site
should have no functional change
2016-10-26 11:33:12 -04:00
Mike Blumenkrantz 41f5a3e1fd loop bryce autosize recalc when gadget site has not yet calculated its size
fixes moving of autosizing bryces
2016-10-20 12:12:27 -04:00
Mike Blumenkrantz fb94f1e069 rename bryces when changing anchors 2016-10-20 12:11:39 -04:00
Mike Blumenkrantz 2c4316633b avoid extra recalc when resizing a bryce on its oriented axis 2016-10-19 11:38:04 -04:00
Mike Blumenkrantz 39d561c8b4 fix bryce upgrade path from 0 -> 2 re:naming 2016-10-18 10:59:04 -04:00
Mike Blumenkrantz 7a06a6b661 trigger bryce menus from right click if event has not been consumed 2016-10-17 12:44:32 -04:00
Mike Blumenkrantz b9afecde41 remove unused attribute from used param 2016-10-17 12:44:08 -04:00
Mike Blumenkrantz d0e21c912a add gadget_site_(un)locked smart callbacks for forcing gadget site visibility
useful for cases where the gadget site has no popups to manage but visibility must
be maintained

ref T4732
2016-10-17 11:55:23 -04:00
Mike Blumenkrantz ae628b214b force bryce visibility during editor activity
ref T4732
2016-10-17 11:25:43 -04:00
Mike Blumenkrantz dece6a5514 also do full bryce rename when moving between zones 2016-10-14 08:10:43 -04:00