pass NULL to eina_file_filename_get().
eina_file_filename_get() spits unnecessary eina error when the parameter
is null. In this case, we need to check the return of
_elm_theme_group_file_find() and do not call eina_file_filename_get()
when the return is null. One should check the return of
elm_theme_group_path_find().
Thank zmike for pointing this out.
- I used "activate" signal of entry and this will call ok button clicked function directly.
- This is very useful when the fileselector is used in desktop with keyboard.
Summary:
From now, the list of files/directories can be ordered by filename,
type, size, modified time with both ascent and descent.
Reviewers: seoz
Differential Revision: https://phab.enlightenment.org/D367
Summary: This patch add two functions for elm_clock widget - elm_clock_pause_set and elm_clock_pause_get. I've prepared it because I want to do a stopwatch using this widget, but now it is impossible to pause the clock without set an editable mode.
Reviewers: seoz, cedric, stanluk, z.kosinski
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D374
not backporting because not sure if correct, but definitely a bug
also there's a similar issue where objects (I'm looking at you, elm_list) don't size until the first render, which causes the initial genlist calc sizes to be 100% wrong every time
Elm Flip has some confusing API (and documentation as well) regarding
flip directions and hitsize. Basically, it works just as expected
when everything is set to 1 (all hitsizes are 100% and all directions
are enabled), like in the elm example file :)
BUT, it's not actually possible to restrict the hitsize for one
direction.
Example: You want to flip to left only.
Set direction enabled LEFT.
Then, you must set the hitsize for... RIGHT because that's where the
finger interaction will start from (right to left!). BUT since
RIGHT interaction is not enabled, the histize parameter on RIGHT
will have NO effect on the flip.
Here's what this commit fixes:
- Clear up a bit of the confusion between direction and hit area,
through documentation
- Separate hit area position and direction (bugfix)
- Allow for negative hitsize values to DISABLE a specific area
(define previously undefined behaviour)
So, it will be possible for example:
- Enable left/right interactions
- Only on the top 10% of the widget
NOTE: This breaks behaviour! API/ABI are not quite broken but
undefined behaviour just got defined and fixed.
Scenario:
1. Create elm_genlist.
2. Add some items to it.
3. Do not resize the genlist and leave it with width == 0.
PROPOSAL:
1. When the element is queued for recalculation check current width of
widget. If it is equal to 0 do not add idle enterer.
2. In smart callback on resize check if queue of items that need
recalculation is not empty and new width is not 0. In this situation
add idle enterer.
Application can delete button itsefl(or its parent) inside the smart callback function.
So the signal_emitting with button object should be done in advance.
When the offset is not bigger than 0 && abs(offset) is not smaller than dx(or dy), round up routine could have mis-calculation bug.
It should substract one value more to get a proper round up result.
For example, when x = 1440, offset = -2160, dx = 360, x should become 720 but round up routine made it 1440.
Because it was rounded up from 1080 to 1440. It should be rounded down from 1079 to 720.
Special thanks to Hosang Kim for the help.
Signed-off-by: Daniel Juyung Seo <juyung.seo@samsung.com>
Signed-off-by: Hosang Kim <hosang12.kim@samsung.com>
Summary:
Hello guys,
Below You can find a proof o concept for ATSPI2 support for elementary applications. Currently application can only be listed on bus by clients such as 'accersiser'. I am strongly looking for comments to this design.
Here are my comment regarding following code:
* This pach requires https://phab.enlightenment.org/D327 patch to compile
* I have decided to include whole atspi-constants header, because in fact i will need one-to-one copy of all its enums and defines. Qt has something like 3rdparty folder from which they include this header and don't require atspi dev packages at compilation time. Maybe efl needs the same solution or should just require next package in compilation? I agree that putting atspi-constant.h in main source tree is bad idea, but where? src/utils ??
Reviewers: cedric, raster, kimcinoo
Reviewed By: raster
CC: pkaczmarek-samsung, seoz, jaehwan, kimcinoo
Differential Revision: https://phab.enlightenment.org/D328
Summary: Added support for popup align set
Test Plan: elm_popup_align_set, elm_popup_align_get, elementary_test -to popup
Reviewers: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D321
Scrollto positions are divided 4 type
NONE : do not scrollto.
TOP : scrollto position is always top viewport.
MIDDLE : scrollto position is always middle of viewport.
IN : scrollto position to fully visible in viewport.
Summary: Changes in the _item_realize to decorate the item T576 test_genlist10
Reviewers: seoz, singh.amitesh
Differential Revision: https://phab.enlightenment.org/D358
If we're walking an item and it's deleted, the memory won't go away
immediately in _item_del_pre_hook() as would in _item_del(), then it's
not enough to remove ourselves from the reverse-relative list of the
item we were relative to, we also need to clean our own relative
pointer so we won't touch it later when the item is not being walked
anymore and _item_del() is called.
I was getting this annoying error with espionage application, opening
an interface of an object and then closing the window or selecting
another bus name (whatever would call elm_genlist_clear()).
During the clear process genlist will flag the next item as "walking"
so it's not gone when the current item dies (would happen if next item
is a subitem). The item would run _item_del_pre_hook() but not
_item_del(), but on the next loop iteration the next item would be the
current, then not walking anymore and during _item_del() it would
access it->item->rel which would point to the now-dead item.
before this, it had the insane logic so the prescale_set() never work.
Now, it works well and the prescale won't be set in default. (before, the default value is 64. why?)
When the content is removed(or unset) the mapbuf didn't clean up the some stuff such as removing event callback for the content.
So the unset content would be tracked still by mapbuf dangling callbacks.
Thank you eo pointer indirection for detecting this.
The issue is a mix of design choices (will discuss on the ML) and
a bug in hoversel which was probably caused because of the confusing design
choices.
The problem is that while widget_item->view is set by whoever created
the item, it's automatically deleted by elm_widget_item_del. This means
that objects that decided to delete their views, but were too sloppy to
update the widget_item->view pointer to NULL, would trigger an attempt
to deleted an already deleted object. This does not happen in 1.7
because widget_item->view was introduced in 1.8.
The automatic view deletion is problematic, as smart subobjects are
already deleted when the parent subobject (the widget) is deleted. So
clearing the views is redundant. However if the widget item is manually
deleted, the view should be deleted. This causes this mixture of cases
that are problematic at best.
Indication error:
Error:
ERR<5394>:eo lib/eo/eo_ptr_indirection.x:275 eo_obj_pointer_get()
obj_id 0x8000002900000149 is not pointing to a valid object. Maybe
it has already been freed.
This fixes T500.
Summary:
Menu items in dbus-mode (in Ubunut/Unity) were not updated on
disabled/enabled state changes. They were applied only after
adding/removing an item.
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D333
- removed unnecessary duplicated parameter passing.
- moved smart callback add to a proper place not to be confused with other object's smart callback addition.
- removed unnecessary sub object add. it's done automatically in elm_layout_content_set.
inline with their X counterparts. Also, remove some EINA_UNUSED where
parameters were being used.
The previous code to get the Ecore_Wl_Window from an Ecore_Evas did
not check to make sure the Ecore_Evas Engine was a wayland engine, and
thus elm_tests like Window Inline would spew CRIT & ERR messages from
ecore_evas about the interface.
This fixes Phab Ticket T502
Signed-off-by: Chris Michael <cp.michael@samsung.com>
use the fill_set instead of the clipper.
soon after 1.8, proxy just created the filled area buffer, then magnifier surface size will be fixed regardless of the entry source.
Because ewk_view is smart class and it's parent is Evas, it prints below warning.
... Can't execute function Elm_Widget:ELM_WIDGET_SUB_ID_SUB_OBJECT_ADD (op 0x9f)
for class 'Evas'. Aborting.
elm_widget_type_get() is not lowercase anymoe, rather "Elm_Win". As
other parts of the elementary source were using evas_object_type_get()
use it, and it still returns the legacy lowercase name.
Summary:
In the original code, omit related information was cleared and recalculated
only when omit function was enabled. So dynamic omit mode change didn't work in elementary_test.
The information should be cleared everytime the index box is filled. fixed it.
Test Plan: None
Reviewers: seoz, Hermet, raster
CC: raster
Differential Revision: https://phab.enlightenment.org/D262
The swallow part was properly renamed and namespaced, so reflect that
in the code. Also force a edje object recalc before moving the magnifier.
Reviewers: raster, cedric, Hermet, tasn
Reviewed By: cedric
CC: seoz
Differential Revision: https://phab.enlightenment.org/D286
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
from terminology into other elm apps (selection format issue).
Wayland has no concept of primary or secondary clipboards so we need
to test for selection == those due to some X apps.
*cough*terminology*cough* using only Primary or Secondary.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
wayland.
This also unifies some of the code between X & wayland wrt copy/paste.
This is part of a larger copy/paste fix for efl/elm wayland.
Previously, copy/paste would not work via keyboard shortcuts. This
series of changes fixes that issue (wrt elm_entry anyway).
This also adds addtional copy/paste support (wrt efl wayland),
including support for various mime types (text/plain, elm-markup, and html).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This is part of a larger copy/paste fix for efl/elm wayland.
Previously, copy/paste would not work via keyboard shortcuts. This
series of changes fixes that issue (wrt elm_entry anyway).
This also adds addtional copy/paste support (wrt efl wayland),
including support for various mime types (text/plain, elm-markup, and
html).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This features permits execution of more than one set of functions during
DnD.
Delete function API has been modified to give the developer the
possibility to remove a specific set of functions.
This reverts commit f67ecb2028dd663aa4b0d9fe78b2a392ac169e7e.
Conflicts:
ChangeLog
NEWS
src/bin/test_popup.c
Sorry, Pend this to 1.8 after.
Let's think about adding this API more carefully.
Summary: Checked whether object which direction pointed is NULL before getting it's data
Reviewers: seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D95
Always search executable based on CWD if possible.
This way, elementary_run behaves more like sh where all of
sh script, sh ./script and sh `pwd`/script will work.
Also, remove quicklaunch-specific ELM_MAIN.
This needs some doc, but compiling with -fpie and -pie is much
better.
Note: There's an API/ABI break here, BUT these APIs are marked
as not to be used outside macros. And there isn't any macro
using them :)
Apps call elm_shutdown before exiting. But when using
Quiklaunch, elm_init has never been called, so the
init count is still 0.
This will be especially useful since programs compiled
with -fPIC and linked with -pie can be loaded by
Quicklaunch.
This reverts commit cbd7446f0bf413ad821ac40703d2a2ca728758ef.
Conflicts:
ChangeLog
NEWS
Please be more considerable to add this feature.
The function itself is not logical and we don't think it's proper for the conformant yet.
This is the specific error:
/usr/include/elementary-1/Elementary.h:169:24: fatal error: elm_access.h: No such file or directory
Accessibility support was previously disabled by commit
0d61121ce4f87c9e9b0e8d8d7975f815328fe6f5
Summary:
Some applications like file viewer allow multiple selection only with
Control key was pressed.
Reviewers: seoz, raster
Reviewed By: raster
Differential Revision: https://phab.enlightenment.org/D251
Conflicts:
ChangeLog
NEWS
Older UI concept: when text in spinner's entry is inputted and text is
not committed yet and when inc/dec is clicked. do not commit text and
reset the value to older original value.
New UI concept:
When Text in spinner's entry is inputted and text is not committed yet
and when inc/dec buttons are clicked.
Commit the entry's text and inc/dec accordingly.
If entry' s text is already modified owing to min/max update, then do not inc/dec.
Signed-off by: Shilpa Singh <shilpa.singh@samsung.com>
Accessibility APIs are added after elm 1.7 and they are not stable yet.
Disabled those APIs for elm 1.8 release. We are going to work on them after elm 1.8 release.
... will have to look into why it does not work here propertly tho..
Revert "Fix elm client applications to support maximize properly (ie: removing"
This reverts commit 28763963bb9e26ea25ca182acc294c0a02f03ba2.
Issue: As step size was hard coded in the widget, when slider indicator is dragged
using a key event or during accessibility the value was not exactly incremented/decremented
instead same value was shown more than1 time/values were skipped.
Solution: Two APIs added which will set/get step size.
Reviewer: SeoZ
Reviewer Comment: This is a manual merge of D293 due to arc issue on Shilpa.
I modified some codes from her original code. She'll use arc next time.
fixed documentation
fixed typos.
fixed indentation
used macro
added some guide codes.
removed unnecessary empty line.
updated NEWS and ChangeLog.
When the virtualkeypad size is changed, applications get the notice.
Applications can do internal object calculation according to the exact virtualkeypad size.
This is useful when the exact size is important such as webkit usecase.
When receiving a maximize event from the maximize button, do not force
sd->maximized. We must wait for a state change event, just like when a
window is maximized by the elm_win_maximized_set function. This will
ensure that a maximized smart event is sent.
Additionally, send a elm,state,maximized signal to the edje theme, so it
can update shadows and window decorations correctly.
A col variable has been used inside the macro instead of the column
parameter. This first variable is from the legacy API and so didn't have
impact when the function was called from the legacy API.
In GUI Builder, the compilation of the generated C code was failing
because we used directly the Eo API and so was searching for the col
variable.
This allows to select an axis that the layout will use its current size
to restrict the min size calculation of the inner edje, possibly helping
with textblock min size issues
This feature is essential if two overlapping widgets can receive drop
information.
Until now, if two widgets (e.g background and button) were added as drop
targets, pointing to common coordinates would have given priority to the
first inserted as drop target.
Now, it will determine which widget is supposed to receive this drop
target by using the same mechanism as used for mouse move, i.e by
walking on the objects tree whose pointer passes through.
A test has been added (Overlapping DnD) to show how this feature can be
used. You can drop in bg, box and button.
This patch implmented for fileselector to monitor and update changes of selected
path. So, changes of selected path from other applications such as mkdir will be
applied to the file_view without refresh.
This feature is only available with EIO.
"index,update" signal is missing in signal description.
So, This patch refactored signal declarations to avoid mistakes.
It was introduced since b430c07ca1f1.
Summary: Calling elm_widget_sub_object_add after calling elm_widget_sub_object_del may cause theme loading even though the sub object's theme is the same as the parent object's theme. This commit prevents the previous item view's theme re-loading.
Reviewers: Hermet, seoz
Reviewed By: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D267
Summary: Currently if the third argument of elm_widget_resize_object_set, 'Eina_Bool sub_obj', indicates whether a resize object is added to/deleted from the sub object or not. This commit makes the third argument, 'sub_obj', also indicate whether a resize object is added to/deleted from the smart member or not.
Reviewers: Hermet, seoz
Reviewed By: seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D268
Since a305c127, list_itc and grid_itc initialization was moved to constructor of file selector class.
But some parts of them are remained in _elm_fileselector_smart_add() by my mistake.
Summary: Add one more argument, 'Eina_Bool sub_object' to elm_widget_resize_object_set. If the argument, 'sub_object' is set as EINA_TRUE, the new resize object is added to the sub object and the previous resize object is deleted from the sub object.
Reviewers: Hermet, seoz
CC: Jaehyun_Cho, seoz, raster
Differential Revision: https://phab.enlightenment.org/D265
- 'full' style is so useful, it needs to have a documentation.
- Do not use @ for 'since' in this case. That will cause line break and looks ugly.
- reminded by ccxwrk.
This feature is enabled only when the user enalbed focus support manually for thumb.
Reviewers: seoz
Differential Revision: https://phab.enlightenment.org/D241
Summary:
Although user should give the position of button such as button1, current elm_popup
changes button's position or style as the number of buttons while adding or removing
buttons.
So, when application developers add buttons as wrong order or removed buttons,
applications may be crashed.
This patch refactored the behavior not to change the position intended by application
developer.
Test Plan: added new test case to test_popup.
Reviewers: seoz
Reviewed By: seoz
Differential Revision: https://phab.enlightenment.org/D259
ELM_WIDGET_SUB_ID_THEME needs to return Eina_Bool.
In addition, calls the super function of ELM_WIDGET_SUB_ID_THEME.
Reproduce step is changing profile in elementary_config.
There is a chance that spin timer is deleted in _value_set() by any chance.
So reset the spin timer and call _value_set after that.
Special thanks to Shilpa.
1. Moved frozen variable to more proper position. Elm_Widget_Smart_Data -> Elm_Layout_Smart_Data.
2. Check frozen at one place. This makes codes cleaner and reduces human mistakes.