[EGIT] [apps/espionage] master 03/03: Don't use deprecated functions
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=0900c83fe7f5ff4c62b0086800223228f3ac67cd commit 0900c83fe7f5ff4c62b0086800223228f3ac67cd Author: Dave Andreoli Date: Mon Apr 26 12:24:32 2021 +0200 Don't use deprecated functions --- espionage/espionage.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index f5f534a..e3df353 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -31,9 +31,7 @@ from efl.elementary.window import StandardWindow, DialogWindow from efl.elementary.box import Box from efl.elementary.button import Button from efl.elementary.check import Check -from efl.elementary.entry import Entry, \ -Entry_markup_to_utf8 as markup_to_utf8, \ -Entry_utf8_to_markup as utf8_to_markup +from efl.elementary.entry import Entry, markup_to_utf8, utf8_to_markup from efl.elementary.flipselector import FlipSelector from efl.elementary.icon import Icon from efl.elementary.label import Label --
[EGIT] [apps/espionage] master 02/03: warning --
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=1886497401d756d17ad9938cf2df44a19c4958c1 commit 1886497401d756d17ad9938cf2df44a19c4958c1 Author: Dave Andreoli Date: Mon Apr 26 12:04:26 2021 +0200 warning -- item could be undefined, refactor the function to be more accurate --- espionage/espionage.py | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index a3a0476..f5f534a 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -420,13 +420,13 @@ class NamesList(Genlist): self.activatable_group, 0, None) def service_add(self, name): -if name.startswith(':'): -if options.show_private_stuff: -item = self.item_sorted_insert(self.itc, name, self.sort_cb, - self.private_group, 0, None) -else: -item = self.item_sorted_insert(self.itc, name, self.sort_cb, - self.public_group, 0, None) +is_private = name.startswith(':') +if is_private and not options.show_private_stuff: +return + +group_item = self.private_group if is_private else self.public_group +item = self.item_sorted_insert(self.itc, name, self.sort_cb, + group_item, 0, None) if self.waiting_activation is not None and name == self.waiting_activation: self.waiting_popup.delete() --
[EGIT] [apps/espionage] master 01/03: Removed an unneeded param
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=9f37c34dc4932871d8f44d85a9bbd6382a433769 commit 9f37c34dc4932871d8f44d85a9bbd6382a433769 Author: Dave Andreoli Date: Mon Apr 26 11:40:53 2021 +0200 Removed an unneeded param bus is already a global variable, no need to pass them around --- espionage/espionage.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index 776d513..a3a0476 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -246,7 +246,7 @@ class DBusSignal(DBusNode): return 'signal.png' -def recursive_introspect(bus, named_service, object_path, ret_data=None): +def recursive_introspect(named_service, object_path, ret_data=None): """ Introspect a named service and return a list of DBusObjects """ # first recursion, create an empty list if ret_data is None: @@ -307,7 +307,7 @@ def recursive_introspect(bus, named_service, object_path, ret_data=None): if object_path == '/': object_path = '' new_path = '/'.join((object_path, xml_node.attrib['name'])) -recursive_introspect(bus, named_service, new_path, ret_data) +recursive_introspect(named_service, new_path, ret_data) return ret_data @@ -518,7 +518,7 @@ class DetailList(Genlist): self.clear() # objects -for obj in recursive_introspect(bus, name, '/'): +for obj in recursive_introspect(name, '/'): obj_item = self.item_append(self.itc_g, obj, flags=ELM_GENLIST_ITEM_GROUP) obj_item.select_mode_set(ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) --
[EGIT] [apps/espionage] master 01/01: Whoops, unbreak setup.py
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=c5322672482d27f22564417ee0b6d86b480c594d commit c5322672482d27f22564417ee0b6d86b480c594d Author: Dave Andreoli Date: Mon Apr 26 09:28:33 2021 +0200 Whoops, unbreak setup.py It does not like "-" in the requires name... --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 54791c8..96e6161 100755 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ setup( author='Dave Andreoli', author_email='d...@gurumeditation.it', packages=['espionage'], -requires=['efl (>=1.13)', 'dbus-python'], +requires=['efl (>=1.13)', 'dbus'], provides=['espionage'], scripts=['bin/espionage'], package_data={ --
[EGIT] [apps/espionage] master 05/06: Better requires
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=a0f67f8f846b3f459efd3ec2e6b2820fd4587c89 commit a0f67f8f846b3f459efd3ec2e6b2820fd4587c89 Author: Dave Andreoli Date: Mon Apr 26 08:44:03 2021 +0200 Better requires --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 89844c0..54791c8 100755 --- a/setup.py +++ b/setup.py @@ -14,7 +14,7 @@ setup( author='Dave Andreoli', author_email='d...@gurumeditation.it', packages=['espionage'], -requires=['efl (>=1.13)', 'dbus', 'json', 'xml.etree'], +requires=['efl (>=1.13)', 'dbus-python'], provides=['espionage'], scripts=['bin/espionage'], package_data={ --
[EGIT] [apps/espionage] master 03/06: Small optimizations
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=dda3a3564f5b2973231e2928310e65b4a3e54582 commit dda3a3564f5b2973231e2928310e65b4a3e54582 Author: Dave Andreoli Date: Mon Apr 26 07:46:50 2021 +0200 Small optimizations --- espionage/espionage.py | 48 ++-- 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index 4504091..f42b050 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -280,7 +280,7 @@ def recursive_introspect(bus, named_service, object_path, ret_data=None): if child.tag == 'property': typ = child.attrib['type'] access = child.attrib['access'] -prop = DBusProperty(child.attrib['name'], iface, typ, access) +DBusProperty(child.attrib['name'], iface, typ, access) if child.tag == 'method': meth = DBusMethod(child.attrib['name'], iface) @@ -317,7 +317,8 @@ class NamesListGroupItemClass(GenlistItemClass): def __init__(self): GenlistItemClass.__init__(self, item_style='group_index') -def text_get(self, gl, part, name): +@staticmethod +def text_get(gl, part, name): return name @@ -325,7 +326,8 @@ class NamesListItemClass(GenlistItemClass): def __init__(self): GenlistItemClass.__init__(self, item_style='default') -def text_get(self, gl, part, name): +@staticmethod +def text_get(gl, part, name): return name @@ -409,7 +411,8 @@ class NamesList(Genlist): else: self.win.detail_list.populate(name) -def sort_cb(self, it1, it2): +@staticmethod +def sort_cb(it1, it2): return 1 if it1.data.lower() < it2.data.lower() else -1 def service_activatable_add(self, name): @@ -451,10 +454,12 @@ class ObjectItemClass(GenlistItemClass): def __init__(self): GenlistItemClass.__init__(self, item_style='group_index') -def text_get(self, gl, part, obj): +@staticmethod +def text_get(gl, part, obj): return obj.name -def content_get(self, gl, part, obj): +@staticmethod +def content_get(gl, part, obj): if part == 'elm.swallow.icon': return Icon(gl, size_hint_min=(22, 22), file=theme_resource_get(obj.icon)) @@ -464,7 +469,8 @@ class NodeItemClass(GenlistItemClass): def __init__(self): GenlistItemClass.__init__(self, item_style='default_style') -def text_get(self, gl, part, obj): +@staticmethod +def text_get(gl, part, obj): if isinstance(obj, DBusInterface): return '%s' % (options.stl_iface, obj.name) if isinstance(obj, DBusProperty): @@ -488,7 +494,8 @@ class NodeItemClass(GenlistItemClass): params = colored_params(obj.params) return '%s %s' % (options.stl_name, obj.name, params) -def content_get(self, gl, part, obj): +@staticmethod +def content_get(gl, part, obj): if part == 'elm.swallow.icon': return Icon(gl, file=theme_resource_get(obj.icon)) @@ -521,11 +528,11 @@ class DetailList(Genlist): if not options.show_introspect_stuff and \ iface.name.startswith('org.freedesktop.DBus'): continue -iface_item = self.item_append(self.itc, iface, - parent_item=obj_item, - flags=ELM_GENLIST_ITEM_TREE) +self.item_append(self.itc, iface, parent_item=obj_item, + flags=ELM_GENLIST_ITEM_TREE) -def sort_cb(self, it1, it2): +@staticmethod +def sort_cb(it1, it2): pri1 = pri2 = 0 if isinstance(it1.data, DBusProperty): pri1 = 3 @@ -545,7 +552,8 @@ class DetailList(Genlist): return -1 return 1 if it1.data.name.lower() < it2.data.name.lower() else -1 -def expand_request_cb(self, genlist, item): +@staticmethod +def expand_request_cb(genlist, item): item.expanded = True def expanded_cb(self, genlist, item): @@ -553,10 +561,12 @@ class DetailList(Genlist): for obj in iface.properties + iface.methods + iface.signals: self.item_sorted_insert(self.itc, obj, self.sort_cb, parent_item=item) -def contract_request_cb(self, genlist, item): +@staticmethod +def contract_request_cb(genlist, item): item.expanded = False -def contracted_cb(self, genlist, item): +@staticmethod +def contracted_cb(genlist, item): item.subitems_clear() def double_clic
[EGIT] [apps/espionage] master 02/06: Code style: use single quotes
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=a618cb4cf36e2e7a6d0828acad53dd9c676901a9 commit a618cb4cf36e2e7a6d0828acad53dd9c676901a9 Author: Dave Andreoli Date: Mon Apr 26 07:36:48 2021 +0200 Code style: use single quotes --- espionage/espionage.py | 98 +- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index bbb5ca1..4504091 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -64,13 +64,13 @@ class Options(object): self.scroll_on_signal = True self.theme_name = 'default' -self.stl_name = "font_weight=Bold color=#FFF font_size=11" -self.stl_value = "color=#FF99FF" -self.stl_iface = "font_weight=Bold color=#999 font_size=11" -self.stl_brackets = "color=#FFCC00" -self.stl_arrow = "color=#AA" -self.stl_ptype = "color=#6699FF" -self.stl_pname = "color=#AAFFAA" +self.stl_name = 'font_weight=Bold color=#FFF font_size=11' +self.stl_value = 'color=#FF99FF' +self.stl_iface = 'font_weight=Bold color=#999 font_size=11' +self.stl_brackets = 'color=#FFCC00' +self.stl_arrow = 'color=#AA' +self.stl_ptype = 'color=#6699FF' +self.stl_pname = 'color=#AAFFAA' script_path = os.path.dirname(__file__) @@ -88,7 +88,7 @@ def prettify_if_needed(data): def colored_params(plist, omit_braces=False): -p = ', '.join(["%s %s" % +p = ', '.join(['%s %s' % (options.stl_ptype, ty, options.stl_pname, name) for name, ty in plist]) if omit_braces: @@ -121,7 +121,7 @@ class DBusNode(object): class DBusObject(DBusNode): -"""object to represent a DBus Object """ +""" object to represent a DBus Object """ def __init__(self, name, parent_service): DBusNode.__init__(self, name, parent_service) self._interfaces = [] @@ -136,7 +136,7 @@ class DBusObject(DBusNode): class DBusInterface(DBusNode): -"""object to represent a DBus Interface""" +""" object to represent a DBus Interface """ def __init__(self, name, parent_obj): DBusNode.__init__(self, name, parent_obj) self._properties = [] @@ -163,7 +163,7 @@ class DBusInterface(DBusNode): class DBusProperty(DBusNode): -"""object to represent a DBus Property""" +""" object to represent a DBus Property """ def __init__(self, name, parent_iface, typ='unknown', access='unknown'): DBusNode.__init__(self, name, parent_iface) parent_iface.properties.append(self) @@ -177,7 +177,7 @@ class DBusProperty(DBusNode): iface_name = self.parent.name obj = bus.get_object(named_service, object_path) -iface = dbus.Interface(obj, "org.freedesktop.DBus.Properties") +iface = dbus.Interface(obj, 'org.freedesktop.DBus.Properties') self._value = iface.Get(iface_name, self.name) @property @@ -198,7 +198,7 @@ class DBusProperty(DBusNode): class DBusMethod(DBusNode): -"""object to represent a DBus Method""" +""" object to represent a DBus Method """ def __init__(self, name, parent_iface): DBusNode.__init__(self, name, parent_iface) parent_iface.methods.append(self) @@ -227,7 +227,7 @@ class DBusMethod(DBusNode): class DBusSignal(DBusNode): -"""object to represent a DBus Signal""" +""" object to represent a DBus Signal """ def __init__(self, name, parent_iface): DBusNode.__init__(self, name, parent_iface) parent_iface.signals.append(self) @@ -315,7 +315,7 @@ def recursive_introspect(bus, named_service, object_path, ret_data=None): # Names genlist (the one on the left) class NamesListGroupItemClass(GenlistItemClass): def __init__(self): -GenlistItemClass.__init__(self, item_style="group_index") +GenlistItemClass.__init__(self, item_style='group_index') def text_get(self, gl, part, name): return name @@ -323,7 +323,7 @@ class NamesListGroupItemClass(GenlistItemClass): class NamesListItemClass(GenlistItemClass): def __init__(self): -GenlistItemClass.__init__(self, item_style="default") +GenlistItemClass.__init__(self, item_style='default') def text_get(self, gl, part, name):
[EGIT] [apps/espionage] master 04/06: Mark unused params with an underscore
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=68bcbce3e16bc2b8375c1f9498d28665cc68f53f commit 68bcbce3e16bc2b8375c1f9498d28665cc68f53f Author: Dave Andreoli Date: Mon Apr 26 07:53:45 2021 +0200 Mark unused params with an underscore --- espionage/espionage.py | 32 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index f42b050..776d513 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -318,7 +318,7 @@ class NamesListGroupItemClass(GenlistItemClass): GenlistItemClass.__init__(self, item_style='group_index') @staticmethod -def text_get(gl, part, name): +def text_get(_gl, _part, name): return name @@ -327,7 +327,7 @@ class NamesListItemClass(GenlistItemClass): GenlistItemClass.__init__(self, item_style='default') @staticmethod -def text_get(gl, part, name): +def text_get(_gl, _part, name): return name @@ -387,7 +387,7 @@ class NamesList(Genlist): if options.show_private_stuff: self.private_group.subitems_clear() -def item_selected_cb(self, gl, item): +def item_selected_cb(self, _gl, item): name = item.data if item.parent is self.activatable_group: @@ -397,7 +397,7 @@ class NamesList(Genlist): spinner = Progressbar(self.win, style='wheel', pulse_mode=True) spinner.pulse(True) -def stop_waiting_cb(btn): +def stop_waiting_cb(_btn): self.waiting_popup.delete() self.waiting_activation = None button = Button(self.win, text='Stop waiting') @@ -455,7 +455,7 @@ class ObjectItemClass(GenlistItemClass): GenlistItemClass.__init__(self, item_style='group_index') @staticmethod -def text_get(gl, part, obj): +def text_get(_gl, _part, obj): return obj.name @staticmethod @@ -470,7 +470,7 @@ class NodeItemClass(GenlistItemClass): GenlistItemClass.__init__(self, item_style='default_style') @staticmethod -def text_get(gl, part, obj): +def text_get(_gl, _part, obj): if isinstance(obj, DBusInterface): return '%s' % (options.stl_iface, obj.name) if isinstance(obj, DBusProperty): @@ -553,23 +553,23 @@ class DetailList(Genlist): return 1 if it1.data.name.lower() < it2.data.name.lower() else -1 @staticmethod -def expand_request_cb(genlist, item): +def expand_request_cb(_genlist, item): item.expanded = True -def expanded_cb(self, genlist, item): +def expanded_cb(self, _genlist, item): iface = item.data for obj in iface.properties + iface.methods + iface.signals: self.item_sorted_insert(self.itc, obj, self.sort_cb, parent_item=item) @staticmethod -def contract_request_cb(genlist, item): +def contract_request_cb(_genlist, item): item.expanded = False @staticmethod -def contracted_cb(genlist, item): +def contracted_cb(_genlist, item): item.subitems_clear() -def double_click_cb(self, genlist, item): +def double_click_cb(self, _genlist, item): if isinstance(item.data, DBusMethod): MethodRunner(self._parent, item.data) elif isinstance(item.data, DBusProperty): @@ -684,7 +684,7 @@ class MethodRunner(DialogWindow): self.resize(300, 300) self.show() -def run_clicked_cb(self, btn): +def run_clicked_cb(self, _btn): # collect method infos named_service = self._method.parent.parent.parent object_path = self._method.parent.parent.name @@ -737,13 +737,13 @@ class SignalItemClass(GenlistItemClass): GenlistItemClass.__init__(self, item_style='default_style') @staticmethod -def text_get(gl, part, data): +def text_get(_gl, _part, data): return '%s iface: %s path: %s sender: %s' % \ (options.stl_name, data['signal'], options.stl_ptype, data['iface'], options.stl_pname, data['path'], options.stl_value, data['sender']) @staticmethod -def content_get(gl, part, data): +def content_get(gl, part, _data): if part == 'elm.swallow.icon': return Icon(gl, file=theme_resource_get('signal.png')) @@ -802,7 +802,7 @@ class SignalReceiver(Frame): if self.siglist.items_count > 200: self.siglist.first_item.delete() -def signal_clicked_cb(self, gl, item): +def signal_clicked_cb(self, _gl, item): pp = Popup(self._parent) title = 'Signal: %s' \ 'Iface: %s' \ @@ -917,7 +917,7 @@ class EspionageWin(StandardWindow
[EGIT] [apps/espionage] master 01/06: Reformat code to make pycharm happy
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=5f11ce0622e5e5858f261708df7122bed430e434 commit 5f11ce0622e5e5858f261708df7122bed430e434 Author: Dave Andreoli Date: Mon Apr 26 07:33:19 2021 +0200 Reformat code to make pycharm happy --- espionage/espionage.py | 97 -- setup.py | 31 2 files changed, 77 insertions(+), 51 deletions(-) diff --git a/espionage/espionage.py b/espionage/espionage.py index 3ac3af0..bbb5ca1 100644 --- a/espionage/espionage.py +++ b/espionage/espionage.py @@ -54,6 +54,7 @@ EXPAND_HORIZ = EVAS_HINT_EXPAND, 0.0 FILL_BOTH = EVAS_HINT_FILL, EVAS_HINT_FILL FILL_HORIZ = EVAS_HINT_FILL, 0.5 + class Options(object): """class to contain application options""" def __init__(self): @@ -74,33 +75,36 @@ class Options(object): script_path = os.path.dirname(__file__) + def theme_resource_get(fname): return os.path.join(script_path, 'themes', options.theme_name, fname) + def prettify_if_needed(data): if options.pretty_output: return utf8_to_markup(json.dumps(data, indent=2)) else: return utf8_to_markup(str(data)) + def colored_params(plist, omit_braces=False): -p = ', '.join(["%s %s" % \ +p = ', '.join(["%s %s" % (options.stl_ptype, ty, options.stl_pname, name) -for name, ty in plist]) + for name, ty in plist]) if omit_braces: return p return '(%s)' % \ (options.stl_brackets, p, options.stl_brackets) -### connect to session and system buses, and set session as the current one +# connect to session and system buses, and set session as the current one session_bus = dbus.SessionBus(mainloop=DBusEcoreMainLoop()) system_bus = dbus.SystemBus(mainloop=DBusEcoreMainLoop()) bus = session_bus options = Options() -### Classes to describe various DBus nodes +# Classes to describe various DBus nodes class DBusNode(object): """base object for the others DBus nodes""" def __init__(self, name, parent): @@ -130,6 +134,7 @@ class DBusObject(DBusNode): def icon(self): return 'object.png' + class DBusInterface(DBusNode): """object to represent a DBus Interface""" def __init__(self, name, parent_obj): @@ -156,9 +161,10 @@ class DBusInterface(DBusNode): def icon(self): return 'interface.png' + class DBusProperty(DBusNode): """object to represent a DBus Property""" -def __init__(self, name, parent_iface, typ = 'unknown', access = 'unknown'): +def __init__(self, name, parent_iface, typ='unknown', access='unknown'): DBusNode.__init__(self, name, parent_iface) parent_iface.properties.append(self) self._type = typ @@ -190,6 +196,7 @@ class DBusProperty(DBusNode): def icon(self): return 'property.png' + class DBusMethod(DBusNode): """object to represent a DBus Method""" def __init__(self, name, parent_iface): @@ -218,6 +225,7 @@ class DBusMethod(DBusNode): def icon(self): return 'method.png' + class DBusSignal(DBusNode): """object to represent a DBus Signal""" def __init__(self, name, parent_iface): @@ -237,9 +245,9 @@ class DBusSignal(DBusNode): def icon(self): return 'signal.png' -### Introspect a named service and return a list of DBusObjects -def recursive_introspect(bus, named_service, object_path, ret_data=None): +def recursive_introspect(bus, named_service, object_path, ret_data=None): +""" Introspect a named service and return a list of DBusObjects """ # first recursion, create an empty list if ret_data is None: ret_data = [] @@ -279,10 +287,10 @@ def recursive_introspect(bus, named_service, object_path, ret_data=None): for arg in child: if arg.tag == 'arg': if arg.attrib['direction'] == 'out': -L = meth.returns +li = meth.returns else: -L = meth.params -L.append(( +li = meth.params +li.append(( arg.attrib['name'] if 'name' in arg.attrib else '', arg.attrib['type'] if 'type' in arg.attrib else '')) @@ -304,19 +312,23 @@ def rec
[EGIT] [apps/espionage] master 06/06: gitignore++
davemds pushed a commit to branch master. http://git.enlightenment.org/apps/espionage.git/commit/?id=fb044e46451163aae7d8ae00997152cd3fc99a94 commit fb044e46451163aae7d8ae00997152cd3fc99a94 Author: Dave Andreoli Date: Mon Apr 26 09:21:07 2021 +0200 gitignore++ --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 134dadc..e0b2e10 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ build/ installed_files.txt +.idea/ --
[EGIT] [enlightenment/modules/places] master 02/03: Fix icons for DVD, BD and Audio CD
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=1e63c232bb60c360955f16490bd7f0efb6359739 commit 1e63c232bb60c360955f16490bd7f0efb6359739 Author: Dave Andreoli Date: Sun Apr 25 07:55:18 2021 +0200 Fix icons for DVD, BD and Audio CD --- e-module-places.edc | 15 --- images/tag_dvd.png | Bin 892 -> 0 bytes src/e_mod_places.c | 22 -- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/e-module-places.edc b/e-module-places.edc index fc65b8f..f368e58 100644 --- a/e-module-places.edc +++ b/e-module-places.edc @@ -8,7 +8,6 @@ images image: "tag_fat.png" COMP; image: "tag_hfs.png" COMP; image: "tag_ufs.png" COMP; - image: "tag_dvd.png" COMP; image: "header_bg.png" COMP; image: "header_down.png" COMP; image: "home.png" COMP; @@ -409,14 +408,6 @@ collections image.normal: "tag_ufs.png"; color: 255 255 255 240; } -description { state: "dvd" 0.0; - inherit: "default" 0.0; - visible: 1; - image.normal: "tag_dvd.png"; - rel1.relative: 0.0 0.0; - rel2.relative: 1.0 0.5; - color: 255 255 255 240; -} } part { name: "gauge_bg"; mouse_events: 0; @@ -718,12 +709,6 @@ collections action: STATE_SET "ufs" 0.0; target: "icon_tag"; } - program { name: "set_tag_dvd"; -signal: "icon,tag,dvd"; -source: "places"; -action: STATE_SET "dvd" 0.0; -target: "icon_tag"; - } program { name: "set_separator_horiz"; signal: "separator,set,horiz"; source: "places"; diff --git a/images/tag_dvd.png b/images/tag_dvd.png deleted file mode 100644 index 4eafaef..000 Binary files a/images/tag_dvd.png and /dev/null differ diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 2dcc227..342d560 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -379,11 +379,23 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz) icon = e_icon_add(evas_object_evas_get(main)); f1 = f2 = f3 = NULL; /* optical discs */ -// TODO more icons: dvd, blueray -if (eina_streq(vol->drive_type, "cdrom") || -eina_streq(vol->drive_type, "optical_cd")) +if (eina_str_has_prefix(vol->drive_type, "optical_bd")) { - f1 = "media"; f2 = "optical"; // OR media-optical ?? + f1 = "media"; f2 = "optical"; f3 = "bd"; + } +else if (eina_str_has_prefix(vol->drive_type, "optical_dvd")) + { + f1 = "media"; f2 = "optical"; f3 = "dvd"; + } +else if (eina_str_has_prefix(vol->drive_type, "optical_cd") && + !eina_streq(vol->fstype, "iso9660")) + { + f1 = "media"; f2 = "optical"; f3 = "audio"; + } +else if (eina_str_has_prefix(vol->drive_type, "cdrom") || + eina_str_has_prefix(vol->drive_type, "optical")) + { + f1 = "media"; f2 = "optical"; } /* flash cards */ else if (eina_streq(vol->drive_type, "sd_mmc") || @@ -455,8 +467,6 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz) else if (eina_streq(vol->fstype, "hfs") || eina_streq(vol->fstype, "hfsplus")) edje_object_signal_emit(o, "icon,tag,hfs", "places"); -else if (eina_streq(vol->fstype, "udf")) - edje_object_signal_emit(o, "icon,tag,dvd", "places"); // update labels, gauge and button _places_volume_object_update(vol, o); --
[EGIT] [enlightenment/modules/places] master 03/03: Better icons for flash and floppy
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=fbaf294dfdda59a4b684638ac6016acf57e92f58 commit fbaf294dfdda59a4b684638ac6016acf57e92f58 Author: Dave Andreoli Date: Mon Apr 26 07:01:35 2021 +0200 Better icons for flash and floppy --- src/e_mod_places.c | 27 +-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 342d560..f1cbb98 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -398,21 +398,44 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz) f1 = "media"; f2 = "optical"; } /* flash cards */ -else if (eina_streq(vol->drive_type, "sd_mmc") || +else if (eina_streq(vol->drive_type, "flash_mmc") || + eina_streq(vol->drive_type, "sd_mmc") || eina_streq(vol->model, "SD/MMC")) { f1 = "media"; f2 = "flash"; f3 = "sdmmc"; // NOTE sd-mmc in Oxigen :( } -else if (eina_streq(vol->drive_type, "memory_stick") || +else if (eina_streq(vol->drive_type, "flash_ms") || + eina_streq(vol->drive_type, "memory_stick") || eina_streq(vol->model, "MS/MS-Pro")) { f1 = "media"; f2 = "flash"; f3 = "ms"; // NOTE memory-stick in Oxigen :( } +else if (eina_streq(vol->drive_type, "flash_cf")) + { + f1 = "media"; f2 = "flash"; f3 = "cf"; + } +else if (eina_streq(vol->drive_type, "flash_sd")) + { + f1 = "media"; f2 = "flash"; f3 = "sd"; + } +else if (eina_streq(vol->drive_type, "flash_sm")) + { + f1 = "media"; f2 = "flash"; f3 = "sm"; + } +else if (eina_str_has_prefix(vol->drive_type, "flash")) + { + f1 = "media"; f2 = "flash"; + } /* iPods */ else if (eina_streq(vol->model, "iPod")) { f1 = "multimedia-player"; f2 = "apple"; f3 = "ipod"; } +/* Floppy disks */ +else if (eina_str_has_prefix(vol->drive_type, "floppy")) + { + f1 = "media"; f2 = "floppy"; + } /* generic usb drives */ else if (eina_streq(vol->bus, "usb")) { --
[EGIT] [enlightenment/modules/places] master 01/03: theme, silent warnings about missing image
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=0847d1ebcf91f9cd9473ccbf424aae8de6650449 commit 0847d1ebcf91f9cd9473ccbf424aae8de6650449 Author: Dave Andreoli Date: Sun Apr 25 07:19:34 2021 +0200 theme, silent warnings about missing image --- e-module-places.edc | 6 ++ 1 file changed, 6 insertions(+) diff --git a/e-module-places.edc b/e-module-places.edc index cb0920b..fc65b8f 100644 --- a/e-module-places.edc +++ b/e-module-places.edc @@ -379,6 +379,7 @@ collections mouse_events: 0; clip_to: "icon_clip"; description { state: "default" 0.0; + visible: 0; rel1.to: "icon"; rel2.relative: 0.5 0.5; rel2.to: "icon"; @@ -386,26 +387,31 @@ collections } description { state: "ext3" 0.0; inherit: "default" 0.0; + visible: 1; image.normal: "tag_ext3.png"; color: 255 255 255 240; } description { state: "fat" 0.0; inherit: "default" 0.0; + visible: 1; image.normal: "tag_fat.png"; color: 255 255 255 240; } description { state: "hfs" 0.0; inherit: "default" 0.0; + visible: 1; image.normal: "tag_hfs.png"; color: 255 255 255 240; } description { state: "ufs" 0.0; inherit: "default" 0.0; + visible: 1; image.normal: "tag_ufs.png"; color: 255 255 255 240; } description { state: "dvd" 0.0; inherit: "default" 0.0; + visible: 1; image.normal: "tag_dvd.png"; rel1.relative: 0.0 0.0; rel2.relative: 1.0 0.5; --
[EGIT] [enlightenment/modules/places] master 01/04: Udisks2: Fix for usb cdrom removal
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=c45452ccaf37eca33fe7e84188d76848419486d7 commit c45452ccaf37eca33fe7e84188d76848419486d7 Author: Dave Andreoli Date: Sat Apr 24 07:50:56 2021 +0200 Udisks2: Fix for usb cdrom removal --- src/backend_udisks2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend_udisks2.c b/src/backend_udisks2.c index 70303a0..55faef0 100644 --- a/src/backend_udisks2.c +++ b/src/backend_udisks2.c @@ -264,7 +264,8 @@ _places_ud2_interfaces_removed_cb(void *data, const Eldbus_Message *msg) while (eldbus_message_iter_get_and_next(array_ifaces, 's', &iface_name)) { printf("PLACES: InterfaceRemoved obj:%s - iface:%s\n", obj_path, iface_name); - if (eina_streq(iface_name, UDISKS2_FILESYSTEM_IFACE)) + if (eina_streq(iface_name, UDISKS2_FILESYSTEM_IFACE) || + eina_streq(iface_name, UDISKS2_BLOCK_IFACE)) if ((vol = places_volume_by_id_get(obj_path))) places_volume_del(vol); } --
[EGIT] [enlightenment/modules/places] master 03/04: Better icon for bookmarks
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ab180f1199314435c11e83283eadec50b202302f commit ab180f1199314435c11e83283eadec50b202302f Author: Dave Andreoli Date: Sat Apr 24 08:55:04 2021 +0200 Better icon for bookmarks --- src/e_mod_places.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 5edfabc..5fca5a7 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -939,7 +939,7 @@ _places_bookmarks_parse(E_Menu *em) mi = e_menu_item_new(em); e_menu_item_label_set(mi, alias ? alias : ecore_file_file_get(uri->path)); - e_util_menu_item_theme_icon_set(mi, "folder"); + e_util_menu_item_theme_icon_set(mi, "user-bookmarks"); e_menu_item_callback_set(mi, _places_menu_folder_cb, strdup(uri->path)); //TODO free somewhere } --
[EGIT] [enlightenment/modules/places] master 02/04: PoorMan debug utils
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=9d06c71425124f1899fecae4b621960391577616 commit 9d06c71425124f1899fecae4b621960391577616 Author: Dave Andreoli Date: Sat Apr 24 08:39:18 2021 +0200 PoorMan debug utils --- src/backend_mount.c | 12 src/backend_udisks2.c | 44 src/e_mod_places.c| 21 +++-- 3 files changed, 47 insertions(+), 30 deletions(-) diff --git a/src/backend_mount.c b/src/backend_mount.c index e6a0ebf..3144ef7 100644 --- a/src/backend_mount.c +++ b/src/backend_mount.c @@ -7,6 +7,10 @@ #include "e_mod_places.h" +/* Enable/Disable debug messages */ +// #define PDBG(...) do {} while (0) +#define PDBG(...) printf("PLACES(mnt): "__VA_ARGS__) + #define FSTAB_FILE "/etc/fstab" #define MTAB_FILE "/proc/mounts" @@ -236,12 +240,12 @@ _places_mount_mtab_timer_cb(void *data) Eina_Bool places_mount_init(void) { - printf("PLACES: mount: init()\n"); + PDBG("init()\n"); if (!ecore_file_exists(FSTAB_FILE) || !ecore_file_exists(MTAB_FILE)) { - printf("PLACES: mount: Cannot find required files\n"); + printf("PLACES(mnt): Cannot find required files\n"); return EINA_FALSE; } @@ -260,12 +264,12 @@ places_mount_init(void) void places_mount_shutdown(void) { - printf("PLACES: mtab: shutdown()\n"); + PDBG("shutdown()\n"); E_FREE_FUNC(mtab_timer, ecore_timer_del); E_FREE_FUNC(know_mounts, eina_list_free); E_FREE_FUNC(eeh1, ecore_event_handler_del); E_FREE_FUNC(eeh2, ecore_event_handler_del); } - +#undef PDBG #endif diff --git a/src/backend_udisks2.c b/src/backend_udisks2.c index 55faef0..db586aa 100644 --- a/src/backend_udisks2.c +++ b/src/backend_udisks2.c @@ -10,6 +10,11 @@ #include "e_mod_places.h" +/* Enable/Disable debug messages */ +// #define PDBG(...) do {} while (0) +#define PDBG(...) printf("PLACES(ud2): "__VA_ARGS__) + + /* UDisks2 defines */ #define UDISKS2_BUS "org.freedesktop.UDisks2" #define UDISKS2_PATH "/org/freedesktop/UDisks2" @@ -66,14 +71,14 @@ static Eldbus_Object *_places_ud2_object_manager = NULL; Eina_Bool places_udisks2_init(void) { - printf("PLACES: udisks2: init()\n"); + PDBG("init()\n"); EINA_SAFETY_ON_FALSE_RETURN_VAL(eldbus_init(), EINA_FALSE); _places_ud2_conn = eldbus_connection_get(ELDBUS_CONNECTION_TYPE_SYSTEM); if (!_places_ud2_conn) { - printf("PLACES: udisks2: Error connecting to system bus.\n"); + printf("udisks2: Error connecting to system bus.\n"); return EINA_FALSE; } @@ -86,7 +91,7 @@ places_udisks2_init(void) void places_udisks2_shutdown(void) { - printf("PLACES: udisks2: shutdown()\n"); + PDBG("shutdown()\n"); E_FREE_FUNC(_places_ud2_object_manager, eldbus_object_unref); E_FREE_FUNC(_places_ud2_conn, eldbus_connection_unref); eldbus_shutdown(); @@ -168,7 +173,6 @@ _places_udisks2_string_convert(Eldbus_Message_Iter *ay) if (!p) break; p++; } - // printf("PLACES: stupid string %s\n", str); return strdup(buf); } @@ -212,7 +216,7 @@ _places_ud2_get_managed_objects_cb(void *data, const Eldbus_Message *msg, Eldbus PLACES_ON_MSG_ERROR_RETURN(msg); - printf("PLACES: GetManagedObjects\n"); + PDBG("GetManagedObjects\n"); if (!eldbus_message_arguments_get(msg, "a{oa{sa{sv}}}", &objs_array)) return; @@ -240,7 +244,7 @@ _places_ud2_interfaces_added_cb(void *data, const Eldbus_Message *msg) if (eldbus_message_arguments_get(msg, "oa{sa{sv}}", &obj_path, &ifaces_array)) { - printf("PLACES: InterfacesAdded on obj: %s\n", obj_path); + PDBG("InterfacesAdded on obj: %s\n", obj_path); // we are only interested at block_device objects if (eina_str_has_prefix(obj_path, UDISKS2_BLOCK_PREFIX)) _places_ud2_read_block_ifaces(obj_path, ifaces_array, EINA_FALSE); @@ -263,7 +267,7 @@ _places_ud2_interfaces_removed_cb(void *data, const Eldbus_Message *msg) while (eldbus_message_iter_get_and_next(array_ifaces, 's', &iface_name)) { - printf("PLACES: InterfaceRemoved obj:%s - iface:%s\n", obj_path, iface_name); + PDBG("InterfaceRemoved obj:%s - iface:%s\n", obj_path, iface_name); if (eina_streq(iface_name, UDISKS2_FILESYSTEM_IFACE) || eina_streq(iface_name, UDISKS2_BLOCK_IFACE)) if ((vol = places_volume_by_id_get(obj_path))) @@ -288,7 +292,7 @@ _places_ud2_block_props_changed_cb(void *data, const Eldbus_Message *msg) &changed_props, &invalidated_props))
[EGIT] [enlightenment/modules/places] master 04/04: don't leak strings in menu
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=69b258794ad2e6d7a8d2f871082c11701807a2bc commit 69b258794ad2e6d7a8d2f871082c11701807a2bc Author: Dave Andreoli Date: Sat Apr 24 17:17:07 2021 +0200 don't leak strings in menu --- src/e_mod_places.c | 11 +-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 5fca5a7..2dcc227 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -882,6 +882,8 @@ _places_header_activated_cb(void *data, Evas_Object *o, const char *emission, co /* E17 menu augmentation */ +static Eina_List *_menu_strings = NULL; + void _places_menu_folder_cb(void *data, E_Menu *m, E_Menu_Item *mi) { @@ -909,11 +911,15 @@ _places_bookmarks_parse(E_Menu *em) { char line[PATH_MAX]; char buf[PATH_MAX]; + const char *s; E_Menu_Item *mi; Efreet_Uri *uri; char *alias; FILE* fp; + EINA_LIST_FREE(_menu_strings, s) + eina_stringshare_del(s); + snprintf(buf, sizeof(buf), "%s/gtk-3.0/bookmarks", efreet_config_home_get()); fp = fopen(buf, "r"); if (!fp) @@ -940,8 +946,9 @@ _places_bookmarks_parse(E_Menu *em) e_menu_item_label_set(mi, alias ? alias : ecore_file_file_get(uri->path)); e_util_menu_item_theme_icon_set(mi, "user-bookmarks"); - e_menu_item_callback_set(mi, _places_menu_folder_cb, - strdup(uri->path)); //TODO free somewhere + s = eina_stringshare_add(uri->path); + e_menu_item_callback_set(mi, _places_menu_folder_cb, s); + _menu_strings = eina_list_append(_menu_strings, s); } if (uri) efreet_uri_free(uri); } --
[EGIT] [enlightenment/modules/places] master 02/02: Better handling of dbus errors
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=bb16f0d2450419730e7d96f27b157cd7b9e36642 commit bb16f0d2450419730e7d96f27b157cd7b9e36642 Author: Dave Andreoli Date: Fri Apr 23 11:11:33 2021 +0200 Better handling of dbus errors Now print the error instead of silently fail --- src/backend_systemd.c | 14 +++--- src/backend_udisks1.c | 9 +++-- src/backend_udisks2.c | 14 +++--- src/e_mod_main.h | 15 +++ 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/backend_systemd.c b/src/backend_systemd.c index 9d54354..42359ee 100644 --- a/src/backend_systemd.c +++ b/src/backend_systemd.c @@ -97,7 +97,7 @@ _places_sd_name_start(void *data, const Eldbus_Message *msg, Eldbus_Message *meth; Eldbus_Message_Iter *iter, *array; - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); printf("PLACES: systemd Up and running\n"); @@ -138,7 +138,7 @@ _places_sd_list_units_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending * unsigned int job_id; - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); EINA_SAFETY_ON_FALSE_RETURN( eldbus_message_arguments_get(msg, "a(ssouso)", &units) @@ -178,7 +178,7 @@ _places_sd_unit_new_cb(void *data, const Eldbus_Message *msg) { const char *id, *obj_path; - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "so", &id, &obj_path)); // printf("PLACES: UnitNew(%s, %s)\n", id, obj_path); @@ -201,7 +201,7 @@ _places_sd_unit_removed_cb(void *data, const Eldbus_Message *msg) { const char *id, *obj_path; - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "so", &id, &obj_path)); // printf("PLACES: UnitRemoved(%s, %s)\n", id, obj_path); @@ -277,7 +277,7 @@ _places_sd_mount_props_all_cb(void *data, const Eldbus_Message *msg, Eldbus_Pend Eldbus_Message_Iter *props; EINA_SAFETY_ON_NULL_RETURN(vol); - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); if (eldbus_message_arguments_get(msg, "a{sv}", &props)) { @@ -295,7 +295,7 @@ _places_sd_unit_props_all_cb(void *data, const Eldbus_Message *msg, Eldbus_Pendi Eldbus_Message_Iter *props; EINA_SAFETY_ON_NULL_RETURN(vol); - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); if (eldbus_message_arguments_get(msg, "a{sv}", &props)) { @@ -314,7 +314,7 @@ _places_sd_mount_props_changed_cb(void *data, const Eldbus_Message *msg) const char *iface; EINA_SAFETY_ON_NULL_RETURN(vol); - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); if (eldbus_message_arguments_get(msg, "sa{sv}as", &iface, &changed_props, &invalidated_props)) diff --git a/src/backend_udisks1.c b/src/backend_udisks1.c index efea547..7ba73f3 100644 --- a/src/backend_udisks1.c +++ b/src/backend_udisks1.c @@ -65,6 +65,7 @@ places_udisks1_shutdown(void) eldbus_shutdown(); } + /* Implementation */ static void _places_udisks_name_start(void *data, const Eldbus_Message *msg, @@ -73,6 +74,7 @@ _places_udisks_name_start(void *data, const Eldbus_Message *msg, Eldbus_Object *obj; unsigned flag; + PLACES_ON_MSG_ERROR_RETURN(msg); EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "u", &flag)); obj = eldbus_object_get(_places_dbus_conn, UDISKS_BUS, UDISKS_PATH); @@ -123,7 +125,7 @@ _places_udisks_enumerate_devices_cb(void *data, const Eldbus_Message *msg, Eldbu Eldbus_Message_Iter *ao; const char *devpath; - EINA_SAFETY_ON_TRUE_RETURN(eldbus_message_error_get(msg, NULL, NULL)); + PLACES_ON_MSG_ERROR_RETURN(msg); EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "ao", &ao)); while (eldbus_message_iter_get_and_next(ao, 'o', &devpath)) @@ -143,6 +145,7 @@ _places_udisks_device_add_cb(void *data, const Eldbus_Message *msg) Volume *vol; char *devpath; + PLACES_ON_MSG_ERROR_RETURN(msg); EINA_SAFETY_ON_FALSE_RETURN(eldbus_message_arguments_get(msg, "o", &devpath)); printf("PLACES udisks: DeviceAdded [%s]\n", devpath); @@ -158,6 +161,7 @@ _places_udisks_device_del_cb(void *data, const Eldbus_Message *msg) Volume *vol; char *devpath; + PLACES_ON_MSG_ERROR_RETUR
[EGIT] [enlightenment/modules/places] master 01/02: cleanup files structure and backend names
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=33bf589e68df36cc73d3d0c2a0e72ad5b5a35780 commit 33bf589e68df36cc73d3d0c2a0e72ad5b5a35780 Author: Dave Andreoli Date: Fri Apr 23 09:11:24 2021 +0200 cleanup files structure and backend names --- meson.build | 2 +- src/{e_mod_eeze.c => backend_eeze.c} | 0 src/{e_mod_eeze.h => backend_eeze.h} | 0 src/{e_mod_mount.c => backend_mount.c} | 0 src/{e_mod_mount.h => backend_mount.h} | 2 +- src/{e_mod_systemd.c => backend_systemd.c} | 5 ++--- src/{e_mod_systemd.h => backend_systemd.h} | 2 +- src/{e_mod_udisks_eldbus.c => backend_udisks1.c} | 8 src/backend_udisks1.h| 8 src/{e_mod_udisks2.c => backend_udisks2.c} | 0 src/{e_mod_udisks2.h => backend_udisks2.h} | 2 +- src/e_mod_places.c | 20 ++-- src/e_mod_udisks_eldbus.h| 8 src/meson.build | 13 ++--- 14 files changed, 34 insertions(+), 36 deletions(-) diff --git a/meson.build b/meson.build index 300ec9b..d1f3a65 100644 --- a/meson.build +++ b/meson.build @@ -38,7 +38,7 @@ endif Udisks1 support if get_option('udisks') == true dependency('udisks', required: true) - config_h.set('PLACES_HAVE_UDISKS', 1) + config_h.set('PLACES_HAVE_UDISKS1', 1) endif diff --git a/src/e_mod_eeze.c b/src/backend_eeze.c similarity index 100% rename from src/e_mod_eeze.c rename to src/backend_eeze.c diff --git a/src/e_mod_eeze.h b/src/backend_eeze.h similarity index 100% rename from src/e_mod_eeze.h rename to src/backend_eeze.h diff --git a/src/e_mod_mount.c b/src/backend_mount.c similarity index 100% rename from src/e_mod_mount.c rename to src/backend_mount.c diff --git a/src/e_mod_mount.h b/src/backend_mount.h similarity index 74% rename from src/e_mod_mount.h rename to src/backend_mount.h index d1a1712..49b37c7 100644 --- a/src/e_mod_mount.h +++ b/src/backend_mount.h @@ -1,7 +1,7 @@ #ifndef E_MOD_PLACES_MOUNT_H #define E_MOD_PLACES_MOUNT_H -void places_mount_init(void); +Eina_Bool places_mount_init(void); void places_mount_shutdown(void); #endif diff --git a/src/e_mod_systemd.c b/src/backend_systemd.c similarity index 99% rename from src/e_mod_systemd.c rename to src/backend_systemd.c index cc3784d..9d54354 100644 --- a/src/e_mod_systemd.c +++ b/src/backend_systemd.c @@ -11,9 +11,9 @@ /* -NOTE +NOTES -- I remoti li vede solo con opzione "auto" in fstab +- mounts in fstab seems to need the "auto" option to be seen over dbus :/ */ @@ -25,7 +25,6 @@ NOTE #define SYSTEMD_MOUNT_IFACE "org.freedesktop.systemd1.Mount" - /* Local backend data */ typedef struct Places_Systemd_Backend_Data { diff --git a/src/e_mod_systemd.h b/src/backend_systemd.h similarity index 74% rename from src/e_mod_systemd.h rename to src/backend_systemd.h index b5e527e..82f6ea5 100644 --- a/src/e_mod_systemd.h +++ b/src/backend_systemd.h @@ -1,7 +1,7 @@ #ifndef E_MOD_PLACES_SYSTEMD_H #define E_MOD_PLACES_SYSTEMD_H -void places_systemd_init(void); +Eina_Bool places_systemd_init(void); void places_systemd_shutdown(void); #endif diff --git a/src/e_mod_udisks_eldbus.c b/src/backend_udisks1.c similarity index 99% rename from src/e_mod_udisks_eldbus.c rename to src/backend_udisks1.c index f7b4fa8..efea547 100644 --- a/src/e_mod_udisks_eldbus.c +++ b/src/backend_udisks1.c @@ -2,7 +2,7 @@ #include "places_config.h" -#ifdef PLACES_HAVE_UDISKS +#ifdef PLACES_HAVE_UDISKS1 #include #include @@ -37,9 +37,9 @@ static Eldbus_Proxy *_places_udisks_proxy = NULL; /* API */ Eina_Bool -places_udisks_eldbus_init(void) +places_udisks1_init(void) { - printf("PLACES: udisks: init()\n"); + printf("PLACES: udisks1: init()\n"); if (!eldbus_init()) return EINA_FALSE; @@ -58,7 +58,7 @@ places_udisks_eldbus_init(void) } void -places_udisks_eldbus_shutdown(void) +places_udisks1_shutdown(void) { if (_places_udisks_proxy) eldbus_proxy_unref(_places_udisks_proxy); if (_places_dbus_conn) eldbus_connection_unref(_places_dbus_conn); diff --git a/src/backend_udisks1.h b/src/backend_udisks1.h new file mode 100644 index 000..bc02f15 --- /dev/null +++ b/src/backend_udisks1.h @@ -0,0 +1,8 @@ +#ifndef E_MOD_PLACES_UDISKS1_H +#define E_MOD_PLACES_UDISKS1_H + +Eina_Bool places_udisks1_init(void); +void places_udisks1_shutdown(void); + +#endif + diff --git a/src/e_mod_udisks2.c b/src/backend_udisks2.c similarity index 100% rename from src/e_mod_udisks2.c rename to src/backend_udisks2.c diff --git a/src/e_mod_udisks2.h b/src/backend_udisks2.h similarity index 74% rename from src/e_mod_udisks2.h rename to src
[EGIT] [enlightenment/modules/places] master 01/01: Add a new EXPERIMENTAL systemd backend
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=182b9bbd82ed09441c1bdf7dc7b815cec3055c1c commit 182b9bbd82ed09441c1bdf7dc7b815cec3055c1c Author: Dave Andreoli Date: Thu Apr 22 07:58:40 2021 +0200 Add a new EXPERIMENTAL systemd backend --- meson.build | 15 +- meson_options.txt | 20 ++- src/e_mod_places.c | 13 +- src/e_mod_systemd.c | 510 src/e_mod_systemd.h | 7 + src/meson.build | 1 + 6 files changed, 557 insertions(+), 9 deletions(-) diff --git a/meson.build b/meson.build index 0687036..300ec9b 100644 --- a/meson.build +++ b/meson.build @@ -49,13 +49,20 @@ if get_option('mount') == true endif - Experimental eeze support + EXPERIMENTAL eeze support if get_option('eeze') == true dependency('eeze', required: true) config_h.set('PLACES_HAVE_EEZE', 1) endif + EXPERIMENTAL systemd support +if get_option('systemd') == true + dependency('systemd', required: true,) + config_h.set('PLACES_HAVE_SYSTEMD', 1) +endif + + i18n dep_intl = [] if get_option('nls') @@ -100,6 +107,8 @@ if meson.version().version_compare('>=0.53') summary({'udisks2': get_option('udisks2'), 'udisks1': get_option('udisks'), 'mount': get_option('mount'), -'eeze': get_option('eeze'), - }, section: 'Backends', bool_yn: true) + }, section: 'Backends', bool_yn: true) + summary({'eeze': get_option('eeze'), +'systemd': get_option('systemd'), + }, section: 'Experimental Backends', bool_yn: true) endif \ No newline at end of file diff --git a/meson_options.txt b/meson_options.txt index d26365e..a260a35 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,5 @@ + +# Backends option('udisks2', type: 'boolean', value: true, @@ -5,16 +7,24 @@ option('udisks2', option('udisks', type: 'boolean', value: false, - description: 'enable udisks1 support (default=false)') + description: 'enable deprecated udisks1 support (default=false)') option('mount', type: 'boolean', value: true, description: 'enable fstab/mtab support (default=true)') -option('eeze', - type: 'boolean', - value: false, - description: 'enable experimental eeze support (default=false)') + +# Localization option('nls', type: 'boolean', value: true, description: 'enable localization (default=true)') + +# Experimental (NOT FULLY WORKING) backends +option('eeze', + type: 'boolean', + value: false, + description: 'enable EXPERIMENTAL eeze support (default=false)') +option('systemd', + type: 'boolean', + value: false, + description: 'enable EXPERIMENTAL systemd support (default=false)') \ No newline at end of file diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 263183f..cf615b6 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -4,6 +4,11 @@ #include "e_mod_main.h" #include "e_mod_places.h" + +#ifdef PLACES_HAVE_SYSTEMD +# include "e_mod_systemd.h" +#endif + #ifdef PLACES_HAVE_EEZE # include "e_mod_eeze.h" #endif @@ -65,6 +70,9 @@ places_init(void) printf("PLACES: Init\n"); +#ifdef PLACES_HAVE_SYSTEMD + places_systemd_init(); +#endif #ifdef PLACES_HAVE_EEZE places_eeze_init(); #endif @@ -119,6 +127,9 @@ places_shutdown(void) while (volumes) places_volume_del((Volume*)volumes->data); +#ifdef PLACES_HAVE_SYSTEMD + places_systemd_shutdown(); +#endif #ifdef PLACES_HAVE_EEZE places_eeze_shutdown(); #endif @@ -276,7 +287,7 @@ places_volume_update(Volume *vol) Evas_Object *obj; Eina_List *l; - if (eina_streq(vol->fstype, "nfs") || + if (eina_str_has_prefix(vol->fstype, "nfs") || // nfs, nfs3, nfs4, etc.. eina_streq(vol->fstype, "cifs")) vol->remote = EINA_TRUE; else diff --git a/src/e_mod_systemd.c b/src/e_mod_systemd.c new file mode 100644 index 000..cc3784d --- /dev/null +++ b/src/e_mod_systemd.c @@ -0,0 +1,510 @@ + +#include "places_config.h" + + +#ifdef PLACES_HAVE_SYSTEMD + +#include +#include +#include "e_mod_main.h" +#include "e_mod_places.h" + +/* + +NOTE + +- I remoti li vede solo con opzione "auto" in fstab + +*/ + +/* Systemd defines */ +#define S
[EGIT] [enlightenment/modules/places] master 01/01: use safer and more clear eina_streq() instead of strcmp()
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=0293a50c0585fb769f5199be851dfa4ec6deedab commit 0293a50c0585fb769f5199be851dfa4ec6deedab Author: Dave Andreoli Date: Mon Apr 19 07:14:34 2021 +0200 use safer and more clear eina_streq() instead of strcmp() --- src/e_mod_mount.c | 12 +-- src/e_mod_places.c | 58 +++--- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/e_mod_mount.c b/src/e_mod_mount.c index 8415968..e6a0ebf 100644 --- a/src/e_mod_mount.c +++ b/src/e_mod_mount.c @@ -25,13 +25,13 @@ _places_mount_exe_del_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *eve Ecore_Exe_Event_Del *e = (Ecore_Exe_Event_Del *)event; const char *tag = ecore_exe_tag_get(e->exe); - if (!tag || (strcmp(tag, MOUNT_TAG) && strcmp(tag, UMOUNT_TAG))) + if (!tag || (!eina_streq(tag, MOUNT_TAG) && !eina_streq(tag, UMOUNT_TAG))) return ECORE_CALLBACK_PASS_ON; Volume *vol = ecore_exe_data_get(e->exe); if (vol && (e->exit_code == 0)) { - vol->mounted = strcmp(tag, MOUNT_TAG) ? EINA_FALSE : EINA_TRUE; + vol->mounted = eina_streq(tag, MOUNT_TAG); places_volume_update(vol); } return ECORE_CALLBACK_DONE; @@ -43,7 +43,7 @@ _places_mount_exe_error_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *e Ecore_Exe_Event_Data *e = (Ecore_Exe_Event_Data *)event; const char *tag = ecore_exe_tag_get(e->exe); - if (!tag || (strcmp(tag, MOUNT_TAG) && strcmp(tag, UMOUNT_TAG))) + if (!tag || (!eina_streq(tag, MOUNT_TAG) && !eina_streq(tag, UMOUNT_TAG))) return ECORE_CALLBACK_PASS_ON; Ecore_Exe_Event_Data_Line line = e->lines[0]; @@ -156,7 +156,7 @@ _places_mount_mtab_parse(void) EINA_LIST_FOREACH_SAFE(to_search, l, l2, vol) { - if (strcmp(vol->mount_point, mpoint)) + if (!eina_streq(vol->mount_point, mpoint)) continue; // printf("PLACES: Mounted: %s\n", mpoint); @@ -214,8 +214,8 @@ _places_mount_fstab_parse(void) if (num_splits != 2) continue; - if (!strcmp(fstype, "nfs") || - !strcmp(fstype, "cifs")) + if (eina_streq(fstype, "nfs") || + eina_streq(fstype, "cifs")) { _places_mount_volume_add(mpoint, fstype); } diff --git a/src/e_mod_places.c b/src/e_mod_places.c index aabf848..263183f 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -229,7 +229,7 @@ places_volume_by_id_get(const char *id) Eina_List *l; EINA_LIST_FOREACH(volumes, l, v) - if (!strcmp(v->id, id)) + if (eina_streq(v->id, id)) return v; return NULL; @@ -363,35 +363,35 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz) f1 = f2 = f3 = NULL; /* optical discs */ // TODO more icons: dvd, blueray -if (!strcmp(vol->drive_type, "cdrom") || -!strcmp(vol->drive_type, "optical_cd")) +if (eina_streq(vol->drive_type, "cdrom") || +eina_streq(vol->drive_type, "optical_cd")) { f1 = "media"; f2 = "optical"; // OR media-optical ?? } /* flash cards */ -else if (!strcmp(vol->drive_type, "sd_mmc") || - !strcmp(vol->model, "SD/MMC")) +else if (eina_streq(vol->drive_type, "sd_mmc") || + eina_streq(vol->model, "SD/MMC")) { f1 = "media"; f2 = "flash"; f3 = "sdmmc"; // NOTE sd-mmc in Oxigen :( } -else if (!strcmp(vol->drive_type, "memory_stick") || - !strcmp(vol->model, "MS/MS-Pro")) +else if (eina_streq(vol->drive_type, "memory_stick") || + eina_streq(vol->model, "MS/MS-Pro")) { f1 = "media"; f2 = "flash"; f3 = "ms"; // NOTE memory-stick in Oxigen :( } /* iPods */ -else if (!strcmp(vol->model, "iPod")) +else if (eina_streq(vol->model, "iPod")) { f1 = "multimedia-player"; f2 = "apple"; f3 = "ipod"; } /* generic usb drives */ -else if (!strcmp(vol->bus, "usb")) +else if (eina_streq(vol->bus, "usb")) { f1 = "drive"; f2 = "removable-media"; f3 = "usb"; } /* network filesystem */ -else if (!strcmp(vol->fstype, "nfs") || - !strcmp(vol->fstype, "cifs")) +
[EGIT] [enlightenment/modules/places] master 03/03: Fix ordering for network devices
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=765c10c183089e715af064c12aab1f8ca1cd146f commit 765c10c183089e715af064c12aab1f8ca1cd146f Author: Dave Andreoli Date: Sun Apr 18 14:33:13 2021 +0200 Fix ordering for network devices --- src/e_mod_mount.c | 1 + src/e_mod_places.c | 26 ++ src/e_mod_places.h | 1 + src/e_mod_udisks2.c | 9 - 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/e_mod_mount.c b/src/e_mod_mount.c index 88b6a28..8415968 100644 --- a/src/e_mod_mount.c +++ b/src/e_mod_mount.c @@ -103,6 +103,7 @@ _places_mount_volume_add(const char *mpoint, const char *fstype) vol->free_func = _places_mount_free_func; know_mounts = eina_list_append(know_mounts, vol); + places_volume_update(vol); } char * diff --git a/src/e_mod_places.c b/src/e_mod_places.c index bb8eabf..aabf848 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -241,18 +241,21 @@ _places_volume_sort_cb(const void *d1, const void *d2) const Volume *v1 = d1; const Volume *v2 = d2; - if(!v1) return(1); - if(!v2) return(-1); + if(!v1) return 1; + if(!v2) return -1; // removable after interal - if (v1->removable && !v2->removable) return(1); - if (v2->removable && !v1->removable) return(-1); + if (v1->removable && !v2->removable) return 1; + if (v2->removable && !v1->removable) return -1; + // network after local + if (v1->remote && !v2->remote) return 1; + if (v2->remote && !v1->remote) return -1; // filesystem root on top - if (v1->mount_point && !strcmp(v1->mount_point, "/")) return -1; - if (v2->mount_point && !strcmp(v2->mount_point, "/")) return 1; + if (eina_streq(v1->mount_point, "/")) return -1; + if (eina_streq(v2->mount_point, "/")) return 1; // order by label - if(!v1->label) return(1); - if(!v2->label) return(-1); + if(!v1->label) return 1; + if(!v2->label) return -1; return strcmp(v1->label, v2->label); } @@ -273,6 +276,12 @@ places_volume_update(Volume *vol) Evas_Object *obj; Eina_List *l; + if (eina_streq(vol->fstype, "nfs") || + eina_streq(vol->fstype, "cifs")) + vol->remote = EINA_TRUE; + else + vol->remote = EINA_FALSE; + EINA_LIST_FOREACH(vol->objs, l, obj) _places_volume_object_update(vol, obj); @@ -544,6 +553,7 @@ places_print_volume(Volume *v) printf(" removable: %d\n", v->removable); printf(" requires eject: %d\n", v->requires_eject); printf(" media_available: %d\n", v->media_available); + printf(" remote: %d\n", v->remote); size = _places_human_size_get(v->size); free = _places_human_size_get(v->free_space); printf(" size: %s\n", size); diff --git a/src/e_mod_places.h b/src/e_mod_places.h index fd9f3e7..f862ca2 100644 --- a/src/e_mod_places.h +++ b/src/e_mod_places.h @@ -31,6 +31,7 @@ struct _Volume Eina_Bool removable; Eina_Bool requires_eject; Eina_Bool media_available; + Eina_Bool remote; Eina_Bool unlocked; Eina_Bool encrypted; diff --git a/src/e_mod_udisks2.c b/src/e_mod_udisks2.c index 66979ed..603049f 100644 --- a/src/e_mod_udisks2.c +++ b/src/e_mod_udisks2.c @@ -544,17 +544,16 @@ _places_ud2_volume_finalize(Volume *vol) is_valid = EINA_FALSE; } + + // the update is always needed to trigger auto_mount/auto_open + places_volume_update(vol); + if (is_valid != vol->valid) { // trigger a full redraw, is the only way to show/hide a new device vol->valid = is_valid; places_update_all_gadgets(); } - - // the update is always needed to trigger auto_mount/auto_open - places_volume_update(vol); - - places_print_volume(vol); // TODO REMOVEME } --
[EGIT] [enlightenment/modules/places] master 02/03: Fix Removable hint for thumb drives
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ffabb2149c0e29079790b39081608bb4f4fcb6ff commit ffabb2149c0e29079790b39081608bb4f4fcb6ff Author: Dave Andreoli Date: Sun Apr 18 13:51:32 2021 +0200 Fix Removable hint for thumb drives --- src/e_mod_udisks2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e_mod_udisks2.c b/src/e_mod_udisks2.c index fc81730..66979ed 100644 --- a/src/e_mod_udisks2.c +++ b/src/e_mod_udisks2.c @@ -515,7 +515,7 @@ _places_ud2_read_drive_properies(Volume *vol, Eldbus_Message_Iter* props_array) } else if (eina_streq(key, "MediaAvailable")) eldbus_message_iter_arguments_get(var, "b", &vol->media_available); - else if (eina_streq(key, "MediaRemovable")) + else if (eina_streq(key, "Removable")) eldbus_message_iter_arguments_get(var, "b", &vol->removable); else if (eina_streq(key, "Ejectable")) eldbus_message_iter_arguments_get(var, "b", &vol->requires_eject); --
[EGIT] [enlightenment/modules/places] master 01/03: Finally implemented UDisks2 backend
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=795a9140620d3e93ff18faae5414049b971ef53b commit 795a9140620d3e93ff18faae5414049b971ef53b Author: Dave Andreoli Date: Sun Apr 18 13:38:58 2021 +0200 Finally implemented UDisks2 backend --- meson.build | 19 ++ meson_options.txt | 8 +- src/e_mod_places.c | 13 ++ src/e_mod_places.h | 5 +- src/e_mod_udisks2.c | 645 src/e_mod_udisks2.h | 8 + src/meson.build | 1 + 7 files changed, 695 insertions(+), 4 deletions(-) diff --git a/meson.build b/meson.build index e20db61..0687036 100644 --- a/meson.build +++ b/meson.build @@ -28,6 +28,13 @@ config_h.set_quoted('LOCALEDOMAIN', gettext_domain) config_dir = include_directories('.') + Udisks2 support +if get_option('udisks2') == true + dependency('udisks2', required: true, version: '>= 2.7.2') + config_h.set('PLACES_HAVE_UDISKS2', 1) +endif + + Udisks1 support if get_option('udisks') == true dependency('udisks', required: true) @@ -84,3 +91,15 @@ custom_target('e-module-places.edj', install_dir: mod_install_dir, install: true ) + + + Report +if meson.version().version_compare('>=0.53') + summary({'install': lib_install_dir, + }, section: 'Directories') + summary({'udisks2': get_option('udisks2'), +'udisks1': get_option('udisks'), +'mount': get_option('mount'), +'eeze': get_option('eeze'), + }, section: 'Backends', bool_yn: true) +endif \ No newline at end of file diff --git a/meson_options.txt b/meson_options.txt index 6bcbde6..d26365e 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,7 +1,11 @@ -option('udisks', +option('udisks2', type: 'boolean', value: true, - description: 'enable udisks1 support (default=true)') + description: 'enable udisks2 support (default=true)') +option('udisks', + type: 'boolean', + value: false, + description: 'enable udisks1 support (default=false)') option('mount', type: 'boolean', value: true, diff --git a/src/e_mod_places.c b/src/e_mod_places.c index d2d1810..bb8eabf 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -12,6 +12,10 @@ # include "e_mod_udisks_eldbus.h" #endif +#ifdef PLACES_HAVE_UDISKS2 +# include "e_mod_udisks2.h" +#endif + #ifdef PLACES_HAVE_MOUNT # include "e_mod_mount.h" #endif @@ -67,6 +71,9 @@ places_init(void) #ifdef PLACES_HAVE_UDISKS places_udisks_eldbus_init(); #endif +#ifdef PLACES_HAVE_UDISKS2 + places_udisks2_init(); +#endif #ifdef PLACES_HAVE_MOUNT places_mount_init(); #endif @@ -118,6 +125,9 @@ places_shutdown(void) #ifdef PLACES_HAVE_UDISKS places_udisks_eldbus_shutdown(); #endif +#ifdef PLACES_HAVE_UDISKS2 + places_udisks2_shutdown(); +#endif #ifdef PLACES_HAVE_MOUNT places_mount_shutdown(); #endif @@ -343,6 +353,7 @@ places_fill_box(Evas_Object *main, Eina_Bool horiz) icon = e_icon_add(evas_object_evas_get(main)); f1 = f2 = f3 = NULL; /* optical discs */ +// TODO more icons: dvd, blueray if (!strcmp(vol->drive_type, "cdrom") || !strcmp(vol->drive_type, "optical_cd")) { @@ -519,6 +530,7 @@ places_print_volume(Volume *v) const char *size, *free; printf("Got volume %s (totals: %d)\n", v->id, eina_list_count(volumes)); + printf(" valid: %d\n", v->valid); printf(" label: %s\n",v->label); printf(" mounted: %d\n", v->mounted); printf(" m_point: %s\n", v->mount_point); @@ -531,6 +543,7 @@ places_print_volume(Volume *v) printf(" serial: %s\n", v->serial); printf(" removable: %d\n", v->removable); printf(" requires eject: %d\n", v->requires_eject); + printf(" media_available: %d\n", v->media_available); size = _places_human_size_get(v->size); free = _places_human_size_get(v->free_space); printf(" size: %s\n", size); diff --git a/src/e_mod_places.h b/src/e_mod_places.h index 2150e49..fd9f3e7 100644 --- a/src/e_mod_places.h +++ b/src/e_mod_places.h @@ -28,8 +28,9 @@ struct _Volume const char *model; const char *vendor; const char *serial; - unsigned char removable; - unsigned char requires_eject; + Eina_Bool removable; + Eina_Bool requires_eject; + Eina_Bool media_available; Eina_Bool unlocked; E
[EGIT] [enlightenment/modules/places] master 01/01: Do not poll freespace while the screensaver is on
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=efe3ca51151cc6c79f019f53ddfa5c5a9b8d41b9 commit efe3ca51151cc6c79f019f53ddfa5c5a9b8d41b9 Author: Dave Andreoli Date: Thu Nov 12 08:08:46 2020 +0100 Do not poll freespace while the screensaver is on --- src/e_mod_places.c | 51 ++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 75755da..d2d1810 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -33,6 +33,10 @@ static const char *_places_human_size_get(unsigned long long size); static void _places_volume_object_update(Volume *vol, Evas_Object *obj); static void _places_run_fm_external(const char *fm, const char *directory); +/* EcoreEvent callbacks */ +static Eina_Bool _places_screensaver_on_cb(void *data, int type, void *event); +static Eina_Bool _places_screensaver_off_cb(void *data, int type, void *event); + /* Edje callbacks */ void _places_icon_activated_cb(void *data, Evas_Object *o, const char *emission, const char *source); void _places_custom_icon_activated_cb(void *data, Evas_Object *o, const char *emission, const char *source); @@ -44,6 +48,9 @@ static char theme_file[PATH_MAX]; static Eina_List *volumes = NULL; static Ecore_Timer *freespace_timer = NULL; static Ecore_Thread *freespace_thread = NULL; +static Ecore_Event_Handler *places_screensaver_on_handler = NULL; +static Ecore_Event_Handler *places_screensaver_off_handler = NULL; +#define PLACES_FREESPACE_INTERVAL 3.0 /* Implementation */ @@ -66,12 +73,31 @@ places_init(void) snprintf(theme_file, PATH_MAX, "%s/e-module-places.edj", places_conf->module->dir); - freespace_timer = ecore_timer_add(3.0, _places_freespace_timer_cb, NULL); + + places_screensaver_on_handler = + ecore_event_handler_add(E_EVENT_SCREENSAVER_ON, + _places_screensaver_on_cb, NULL); + places_screensaver_off_handler = + ecore_event_handler_add(E_EVENT_SCREENSAVER_OFF, + _places_screensaver_off_cb, NULL); + + freespace_timer = ecore_timer_add(PLACES_FREESPACE_INTERVAL, + _places_freespace_timer_cb, NULL); } void places_shutdown(void) { + if (places_screensaver_on_handler) + { +ecore_event_handler_del(places_screensaver_on_handler); +places_screensaver_on_handler = NULL; + } + if (places_screensaver_off_handler) + { +ecore_event_handler_del(places_screensaver_off_handler); +places_screensaver_off_handler = NULL; + } if (freespace_timer) { ecore_timer_del(freespace_timer); @@ -615,6 +641,7 @@ _places_freespace_timer_cb(void *data EINA_UNUSED) Eina_List *l, *tdl = NULL; FreespaceThreadData *td = NULL; + // printf("PLACES: TIMER %.1f\n", ecore_time_get()); if (freespace_thread) { // printf("PLACES: *** SOMETHING WRONG *** thread:%p still running...\n", freespace_thread); @@ -643,6 +670,28 @@ _places_freespace_timer_cb(void *data EINA_UNUSED) return ECORE_CALLBACK_RENEW; } +static Eina_Bool +_places_screensaver_on_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + if (freespace_timer) + { +ecore_timer_del(freespace_timer); +freespace_timer = NULL; + } + + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +_places_screensaver_off_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *event EINA_UNUSED) +{ + if (!freespace_timer) + freespace_timer = ecore_timer_add(PLACES_FREESPACE_INTERVAL, + _places_freespace_timer_cb, NULL); + + return ECORE_CALLBACK_PASS_ON; +} + static const char * _places_human_size_get(unsigned long long size) { --
[EGIT] [enlightenment/modules/places] master 01/01: Move the statfvs() call in a separate thread
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=b682a5f9022614e935af8d3b6795cc01109f7eee commit b682a5f9022614e935af8d3b6795cc01109f7eee Author: Dave Andreoli Date: Thu Nov 12 07:07:28 2020 +0100 Move the statfvs() call in a separate thread statvfs can block, so run it in a thread to not stall the E mainloop --- src/e_mod_places.c | 136 +++-- 1 file changed, 111 insertions(+), 25 deletions(-) diff --git a/src/e_mod_places.c b/src/e_mod_places.c index 48c5b6c..75755da 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -17,8 +17,18 @@ #endif +/* Local Typedefs */ +typedef struct _FreespaceThreadData FreespaceThreadData; +struct _FreespaceThreadData +{ + const char *id; + const char *mount_point; + unsigned long long size; + unsigned long long free_space; +}; + /* Local Function Prototypes */ -static Eina_Bool _places_poller(void *data); +static Eina_Bool _places_freespace_timer_cb(void *data); static const char *_places_human_size_get(unsigned long long size); static void _places_volume_object_update(Volume *vol, Evas_Object *obj); static void _places_run_fm_external(const char *fm, const char *directory); @@ -30,9 +40,10 @@ void _places_eject_activated_cb(void *data, Evas_Object *o, const char *emission void _places_header_activated_cb(void *data, Evas_Object *o, const char *emission, const char *source); /* Local Variables */ -static Ecore_Timer *poller = NULL; static char theme_file[PATH_MAX]; -Eina_List *volumes = NULL; +static Eina_List *volumes = NULL; +static Ecore_Timer *freespace_timer = NULL; +static Ecore_Thread *freespace_thread = NULL; /* Implementation */ @@ -55,13 +66,22 @@ places_init(void) snprintf(theme_file, PATH_MAX, "%s/e-module-places.edj", places_conf->module->dir); - poller = ecore_timer_add(3.0, _places_poller, NULL); + freespace_timer = ecore_timer_add(3.0, _places_freespace_timer_cb, NULL); } void places_shutdown(void) { - if (poller) ecore_timer_del(poller); + if (freespace_timer) + { +ecore_timer_del(freespace_timer); +freespace_timer = NULL; + } + if (freespace_thread) + { +ecore_thread_cancel(freespace_thread); +freespace_thread = NULL; + } while (volumes) places_volume_del((Volume*)volumes->data); @@ -520,41 +540,107 @@ places_run_fm(const char *directory) /* Internals */ -static unsigned long long -_places_free_space_get(const char *mount, Volume *vol) +static void +_places_freespace_thread_run(void *data, Ecore_Thread *thread) { + /* statvfs can block, so we run it in a thread to not stall the E mainloop */ + Eina_List *l; + FreespaceThreadData *td = NULL; struct statvfs s; - if (!mount) return 0; - if (statvfs(mount, &s) != 0) - return 0; + // printf("PLACES: THIS RUN IN THREAD %p\n", thread); + + if (ecore_thread_check(thread) == EINA_TRUE) // thread cancelled + return; + + EINA_LIST_FOREACH(data, l, td) + { +if (td->mount_point && (statvfs(td->mount_point, &s) == 0)) + { + td->size = (unsigned long long)s.f_blocks * (unsigned long long)s.f_frsize; + td->free_space = (unsigned long long)s.f_bavail * (unsigned long long)s.f_frsize; + } +if (ecore_thread_check(thread) == EINA_TRUE) + return; + } +} + +static void +_places_freespace_thread_done(void *data, Ecore_Thread *thread) +{ + FreespaceThreadData *td = NULL; + Volume *vol; + + EINA_LIST_FREE(data, td) + { +vol = places_volume_by_id_get(td->id); +if (vol) + { + // redraw only if size or free_space has changed more than 1Mb + if ((abs(td->free_space - vol->free_space) > 1024 * 1024) || + (abs(td->size - vol->size) > 1024 * 1024)) + { + vol->size = td->size; + vol->free_space = td->free_space; + places_volume_update(vol); + } + } +eina_stringshare_del(td->id); +eina_stringshare_del(td->mount_point); +E_FREE(td); + } + + // printf("PLACES:THREAD DONE %p\n", thread); + freespace_thread = NULL; +} - if ((vol->size == 0) && (s.f_blocks)) - vol->size = (unsigned long long)s.f_blocks * (unsigned long long)s.f_frsize; +static void +_places_freespace_thread_cancel(void *data, Ecore_Thread *thread) +{ + FreespaceThreadData *td = NULL; - return (unsigned long long)s.f_bavail * (unsigned long long)s.f_frsize; + EINA_LIST_FREE(data, td) + { +eina_stringshare_del(td->id); +eina_stringshare_del(td->mount_point); +E_FREE(td); + } + freespace_thread = NULL; } static Eina_Bool -_pla
[EGIT] [bindings/python/python-efl] master 01/01: Open 1.26 development phase
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=55e9e51f69fca581b20202747c8d9e1eeaa9bcf3 commit 55e9e51f69fca581b20202747c8d9e1eeaa9bcf3 Author: Dave Andreoli Date: Thu Sep 24 19:31:13 2020 +0200 Open 1.26 development phase --- efl/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/efl/__init__.py b/efl/__init__.py index d2a7a7d..3ef3d70 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,8 +20,8 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.25.0" -__version_info__ = (1, 25, 0) +__version__ = "1.25.99" +__version_info__ = (1, 25, 99) __all__ = [ --
[EGIT] [bindings/python/python-efl] master 01/01: Prepare 1.25 release
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=5a81c2c9443daaba3af821165388559987b0b600 commit 5a81c2c9443daaba3af821165388559987b0b600 Author: Dave Andreoli Date: Thu Sep 24 19:04:53 2020 +0200 Prepare 1.25 release --- ChangeLog | 8 efl/__init__.py | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7fbfbaf..8f0a7f7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,12 @@ +=== +2020-09-24 v1.25.0 +=== + +Changes: + * Switched to Cython 0.29.21 for the tarball generation + + === 2020-04-30 v1.24.0 === diff --git a/efl/__init__.py b/efl/__init__.py index 83d1b93..d2a7a7d 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,8 +20,8 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.24.99" -__version_info__ = (1, 24, 99) +__version__ = "1.25.0" +__version_info__ = (1, 25, 0) __all__ = [ --
[EGIT] [enlightenment/modules/edgar] master 02/02: Remove bryce integration, making the module work again
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=250957a6c67e7d26a118eabbf93a82faa251b2a7 commit 250957a6c67e7d26a118eabbf93a82faa251b2a7 Author: Dave Andreoli Date: Sun Jul 12 10:44:06 2020 +0200 Remove bryce integration, making the module work again --- src/e_mod_edgar.c | 284 +- 1 file changed, 2 insertions(+), 282 deletions(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 43d9229..c4c50de 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -28,16 +28,10 @@ #include "efl.eo_api.h" -// undef this to disable bryce integration -#define EDGAR_GADGETS_DOMAIN "Edgar" - - -/* TODO: - - - correctly manage the new bryce orientations +/* +TODO - gadget configurations (and thus id management) - gadget actions (keybindings) - */ /* Local typedefs */ @@ -70,14 +64,6 @@ static const char *_edgar_gc_id_new(const E_Gadcon_Client_Class *client_class); static void _edgar_gc_id_del(const E_Gadcon_Client_Class *client_class, const char *id); static Evas_Object *_edgar_gc_icon(const E_Gadcon_Client_Class *client_class, Evas *evas); -#ifdef EDGAR_GADGETS_DOMAIN -/* Local Gadget/Bryce Prototypes */ -EINTERN Evas_Object *edgar_bryce_create_cb(Evas_Object *parent, const char *type, int *id, E_Gadget_Site_Orient orient); -EINTERN char*edgar_bryce_name_cb(const char *type); -static Evas_Object *edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, Evas_Object *gadget_object); -static void edgar_bryce_popup_del(Edgar_Py_Gadget *gadget, Evas_Object *ctx_popup); -#endif - /* Python eapi module proto */ PyMODINIT_FUNC PyInit_eapi(void); @@ -342,14 +328,6 @@ edgar_gadget_load(const char *name, const char *path) e_gadcon_provider_register(cclass); eina_hash_add(edgar_gadgets, name, gadget); -#ifdef EDGAR_GADGETS_DOMAIN - // add the gadget to the bryce gadgets system - e_gadget_external_type_add(EDGAR_GADGETS_DOMAIN, name, - edgar_bryce_create_cb, NULL); - e_gadget_external_type_name_cb_set(EDGAR_GADGETS_DOMAIN, name, - edgar_bryce_name_cb); -#endif - return gadget; } @@ -365,11 +343,6 @@ edgar_gadget_unload(Edgar_Py_Gadget *gadget) EINA_LIST_FOREACH_SAFE(gadget->pops_obj, l, l2, popup_content) E_FREE_FUNC(popup_content, evas_object_del); -#ifdef EDGAR_GADGETS_DOMAIN - // remove the gadget from the bryce gadgets system - e_gadget_external_type_del(EDGAR_GADGETS_DOMAIN, gadget->name); -#endif - // Free the gadcon client class e_gadcon_provider_unregister(gadget->cclass); eina_stringshare_del(gadget->cclass->name); @@ -669,259 +642,6 @@ edgar_mouse_down1_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) } } - -#ifdef EDGAR_GADGETS_DOMAIN -/*/ -/* Gadget/Bryce Pupup */ -/*/ -static void -edgar_bryce_ctxpopup_dismissed_cb(void *data, Evas_Object *obj, void *info EINA_UNUSED) -{ - Edgar_Py_Gadget *gadget = data; - edgar_bryce_popup_del(gadget, obj); -} - -static Evas_Object * -edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, Evas_Object *gadget_object) -{ - Evas_Object *ctxpopup, *content; - - DBG("EDGAR: Bryce popup for gadget:%s", gadget->name); - - // create an elm ctxpopup to hold the content generated by the gadget - ctxpopup = elm_ctxpopup_add(e_comp->elm); - elm_object_style_set(ctxpopup, "noblock"); - evas_object_smart_callback_add(ctxpopup, "dismissed", - edgar_bryce_ctxpopup_dismissed_cb, gadget); - - // request the popup content from the python gadget - content = edgar_request_popup_content(gadget, ctxpopup); - if (!content) - { - evas_object_del(ctxpopup); - return NULL; - } - - // keep track of the popup - evas_object_data_set(gadget_object, "edgar-ctxpopup", ctxpopup); - evas_object_data_set(ctxpopup, "edgar-ctxpopup-owner", gadget_object); - - // put the content in the ctxpopup and show everything - elm_object_content_set(ctxpopup, content); - e_gadget_util_ctxpopup_place(gadget_object, ctxpopup, NULL); - evas_object_show(ctxpopup); - - return ctxpopup; -} - -static void -edgar_bryce_popup_del(Edgar_Py_Gadget *gadget, Evas_Object *ctxpopup) -{ - Evas_Object *popup_content = elm_object_content_get(ctxpopup); - Evas_Object *gadget_object = evas_object_data_get(ctxpopup, "edgar-ctxpopup-owner"); - - DBG("EDGAR: Bryce popup delete for gadget:%s", gadget->name); - edgar_notify_popup_deleted(gadget, popup_content); - - // remove popup references - evas_object_data_del(gadget_object, "edgar-ctxpopup&qu
[EGIT] [enlightenment/modules/edgar] master 01/02: Audio: Better support for stereo channels
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=ac8f0d942c1336cc8b948ed97057fcd9debe3bb7 commit ac8f0d942c1336cc8b948ed97057fcd9debe3bb7 Author: Dave Andreoli Date: Sat May 2 12:10:39 2020 +0200 Audio: Better support for stereo channels Also start to factorize Players and Channels, in preparation for the upcoming MPD support --- gadgets/audio/__init__.py | 99 +++ 1 file changed, 65 insertions(+), 34 deletions(-) diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py index 8019029..216e936 100644 --- a/gadgets/audio/__init__.py +++ b/gadgets/audio/__init__.py @@ -1,7 +1,6 @@ # This python file use the following encoding: utf-8 import os -import sys import dbus from urllib.parse import unquote as url_unquote @@ -24,14 +23,48 @@ __gadget_vapi__ = 2 __gadget_opts__ = {'popup_on_desktop': True} -# def DBG(msg): -#print("AUDIO: %s" % msg) -#sys.stdout.flush() +def DBG(*args): +import sys +print("AUDIO:", *args) +sys.stdout.flush() _instance = None +class PlayerBase(object): +""" Define the interface that players must implement """ +name = 'Player name' +label = 'Player label' +metadata = {} # metadata dict as per mpris2 specs +playback_status = 'Stopped' # or 'Playing' or 'Paused' + +def play(self): +raise NotImplemented + +def prev(self): +raise NotImplemented + +def next(self): +raise NotImplemented + +def rais(self): +raise NotImplemented + + +class ChannelBase(object): +""" Define the interface that volume channels must implement """ +name = 'Channel name' +volumes = [0.0, 0.0] # left/right channels, range: 0.0 - 1.0 +muted = True + +def volume_set(self, vols): +raise NotImplemented + +def mute_toggle(self): +raise NotImplemented + + class Gadget(e.Gadget): def __init__(self): @@ -67,20 +100,21 @@ class Gadget(e.Gadget): def speaker_update(self, speaker): if self.pulse and len(self.pulse.channels) > 0: ch = self.pulse.channels[0] -left = right = ch.volume / 655 +left, right = ch.volumes[0] * 100, ch.volumes[1] * 100 speaker.message_send(0, (ch.muted, left, right)) def speaker_wheel_cb(self, obj, sig, source): if self.pulse.channels: ch = self.pulse.channels[0] -vol = ch.volume +vol = (ch.volumes[0] + ch.volumes[1]) / 2 if sig == 'mouse,wheel,0,1': -new_vol = vol - 3000 +new_vol = vol - 0.03 elif sig == 'mouse,wheel,0,-1': -new_vol = vol + 3000 +new_vol = vol + 0.03 else: return -ch.volume_set(min(max(0, new_vol), 65500)) +new_vol = min(max(0.0, new_vol), 1.0) +ch.volume_set([new_vol, new_vol]) def popup_created(self, elm_parent): # DBG("POPUP CREATED") @@ -100,11 +134,11 @@ class Gadget(e.Gadget): main_box.data['players_box'] = players_box main_box.data['volumes_box'] = volumes_box -# add all the available players to the popup edje box +# add all the available mpris players to the popup edje box for player in self.mpris.players: self.popup_player_add(main_box, player) -# add all the channel sliders +# add all the pulse channels sliders if self.pulse.conn is not None: for ch in self.pulse.channels: self.popup_volume_add(main_box, ch) @@ -162,7 +196,7 @@ class Gadget(e.Gadget): self.player_objs[player].append(o) def player_changed(self, player): -# the mpris player has changed, update all the relative edje objects +# the player has changed, update all the relative edje objects for o in self.player_objs.get(player, []): self.player_update(o, player) @@ -213,11 +247,11 @@ class Gadget(e.Gadget): pass def popup_volume_add(self, popup, channel): -sl = elm.Slider(popup, text=channel.name, min_max=(0, 65500), +sl = elm.Slider(popup, text=channel.name, min_max=(0.0, 1.0), span_size=150, indicator_show=False, size_hint_expand=EXPAND_HORIZ, size_hint_fill=FILL_HORIZ) -sl.value = channel.volume +sl.value = (channel.volumes[0] + channel.volumes[1]) / 2 sl.disabled = True if channel.muted else False sl.callback_changed_add(self.popup_slider_changed_cb, channel) sl.callback_slider_drag_start_add(self.popup_slid
[EGIT] [bindings/python/python-efl] master 01/01: Do not fail when build with CC="clang"
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=5a02f132107abc6a7d022eb349f7ff6338b71feb commit 5a02f132107abc6a7d022eb349f7ff6338b71feb Author: Dave Andreoli Date: Thu Jun 25 18:54:03 2020 +0200 Do not fail when build with CC="clang" clang seems much better in building elementary, while gcc need a lot of ram and tend to fail badly So for now on clang is the suggested compiler to use --- setup.py | 16 ++-- 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index 3ed0028..a863a19 100755 --- a/setup.py +++ b/setup.py @@ -211,13 +211,17 @@ ext_modules = [] py_modules = [] packages = ["efl"] common_cflags = [ -"-fno-var-tracking-assignments", # seems to lower the mem used during build -"-Wno-misleading-indentation", # not needed (we don't indent the C code) -"-Wno-deprecated-declarations", # we bind deprecated functions -"-Wno-unused-variable", # eo_instance_from_object() is unused -"-Wno-format-security", # some cc don't like the way cython use EINA_LOG macros -# "-Werror", "-Wfatal-errors" # use this to stop build on first warnings +"-fno-var-tracking-assignments", # seems to lower the mem used during build +"-Wno-misleading-indentation", # not needed (we don't indent the C code) +"-Wno-deprecated-declarations", # we bind deprecated functions +"-Wno-unused-variable", # eo_instance_from_object() is unused +"-Wno-format-security", # some cc don't like the way cython use EINA_LOG macros +# "-Werror", "-Wfatal-errors" # use this to stop build on first warnings ] +# remove clang unknown flags +if os.getenv("CC") == "clang": +common_cflags.remove('-fno-var-tracking-assignments') + if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): sys.stdout.write("Python-EFL: %s\n" % RELEASE) --
[EGIT] [enlightenment/modules/edgar] master 01/01: Audio: Fix cleanup of tracking lists
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=18c4be96dc3d8980c57b634abf8c3c840a3d738a commit 18c4be96dc3d8980c57b634abf8c3c840a3d738a Author: Dave Andreoli Date: Sat May 2 10:37:30 2020 +0200 Audio: Fix cleanup of tracking lists This was used to work, but it doesn't anymore :( box.children is always empty, probably E is deleting the contents of the popup before calling us. Try out a new implementation. --- gadgets/audio/__init__.py | 33 +++-- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py index ca034c5..8019029 100644 --- a/gadgets/audio/__init__.py +++ b/gadgets/audio/__init__.py @@ -116,16 +116,29 @@ class Gadget(e.Gadget): return main_box def popup_destroyed(self, popup): -# DBG("POPUP DESTROYED") -# remove the objects from our lists -for obj in popup.data['players_box'].children: -for player, objs in self.player_objs.items(): -while obj in objs: -objs.remove(obj) -for obj in popup.data['volumes_box'].children: -for channel, objs in self.channel_objs.items(): -while obj in objs: -objs.remove(obj) +""" remove the popup objects from our tracking lists """ + +""" This was used to work, but it doesn't work anymore :( +box.children is always empty, probably E is deleting the contents +before calling us """ +# for obj in popup.data['players_box'].children: +# for player, objs in self.player_objs.items(): +# while obj in objs: +# objs.remove(obj) +# for obj in popup.data['volumes_box'].children: +# for channel, objs in self.channel_objs.items(): +# while obj in objs: +# objs.remove(obj) + +""" new implementation """ +for player, objs_list in self.player_objs.items(): +for obj in objs_list: +if obj.is_deleted(): +objs_list.remove(obj) +for channel, sliders_list in self.channel_objs.items(): +for slider in sliders_list: +if slider.is_deleted(): +sliders_list.remove(slider) def popup_player_add(self, popup, player): # create the edje obj for this player from 'e/gadgets/audio/player' --
[EGIT] [enlightenment/modules/edgar] master 01/01: remove all ancient #ifdefs for old efl versions, we now require efl 1.24
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=335381d6f2406e8d7b7520d9fa8fb9934ac130a7 commit 335381d6f2406e8d7b7520d9fa8fb9934ac130a7 Author: Dave Andreoli Date: Fri May 1 21:40:44 2020 +0200 remove all ancient #ifdefs for old efl versions, we now require efl 1.24 --- src/e_mod_edgar.c | 41 + 1 file changed, 1 insertion(+), 40 deletions(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 7f554b5..43d9229 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -28,10 +28,8 @@ #include "efl.eo_api.h" - -#ifdef EFL_VERSION_1_21 +// undef this to disable bryce integration #define EDGAR_GADGETS_DOMAIN "Edgar" -#endif /* TODO: @@ -133,14 +131,6 @@ static PyObject *edjeEdjeType; #define PyString_AsString PyUnicode_AsUTF8 #endif -#ifndef EFL_VERSION_1_19 - #define efl_isa eo_isa -#endif - -#ifndef EFL_VERSION_1_21 - #define EFL_UI_LAYOUT_CLASS ELM_LAYOUT_CLASS -#endif - /*/ /* Main stuff ***/ @@ -582,25 +572,12 @@ edgar_show_gadget_info(Edgar_Py_Gadget *gadget) /*/ /* Gadcon (old) Popup */ /*/ -#if defined EFL_VERSION_1_19 static void edgar_popup_del_cb(void *data, const Efl_Event *event) -#elif defined EFL_VERSION_1_18 -static void edgar_popup_del_cb(void *data, const Eo_Event *event) -#else -static Eina_Bool edgar_popup_del_cb(void *data, Eo *obj, const Eo_Event_Description *desc, void *event_info) -#endif { -#ifdef EFL_VERSION_1_18 Eo *obj = event->object; -#endif Edgar_Py_Gadget *gadget = data; - edgar_notify_popup_deleted(gadget, obj); - -#ifndef EFL_VERSION_1_18 - return EO_CALLBACK_CONTINUE; -#endif } static E_Gadcon_Popup * @@ -610,11 +587,7 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client *gcc) Evas_Object *content; // create the gadcon popup to hold the content generated by the gadget -#if E_VERSION_MAJOR >= 19 popup = e_gadcon_popup_new(gcc, EINA_FALSE); -#else - popup = e_gadcon_popup_new(gcc); -#endif // request the popup content from the python gadget content = edgar_request_popup_content(gadget, popup->comp_object); @@ -626,16 +599,8 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client *gcc) // NOTE: del cb with priority to be called before the python-efl one. // Otherwise python-efl delete the python obj too soon -#if defined EFL_VERSION_1_19 efl_event_callback_priority_add(content, EFL_EVENT_DEL, EFL_CALLBACK_PRIORITY_BEFORE, edgar_popup_del_cb, gadget); -#elif defined EFL_VERSION_1_18 - eo_event_callback_priority_add(content, EO_EVENT_DEL, - EO_CALLBACK_PRIORITY_BEFORE, edgar_popup_del_cb, gadget); -#else - eo_do(content, eo_event_callback_priority_add( - EO_EV_DEL, EO_CALLBACK_PRIORITY_BEFORE, edgar_popup_del_cb, gadget)); -#endif // put the popup content in the gadcon popup and show it e_gadcon_popup_content_set(popup, content); @@ -663,11 +628,7 @@ edgar_mouse_down3_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) E_Menu *m; int x, y; -#if E_VERSION_MAJOR >= 20 zone = e_zone_current_get(); -#else - zone = e_util_zone_current_get(e_manager_current_get()); -#endif m = e_menu_new(); E_Menu_Item *mi; --
[EGIT] [enlightenment/modules/edgar] master 01/01: Meson: explicit efl require and link
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=a5aa37c7267194ce723947ae2a392b4778036d8a commit a5aa37c7267194ce723947ae2a392b4778036d8a Author: Dave Andreoli Date: Fri May 1 21:22:58 2020 +0200 Meson: explicit efl require and link --- meson.build | 4 src/meson.build | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index a836512..1e85b62 100644 --- a/meson.build +++ b/meson.build @@ -9,6 +9,10 @@ project('edgar', 'c', # NOTE: meson 53 needed for the 'embed' param of py3.dependency() + EFL +dep_efl = dependency('efl', version: '>= 1.24') + + Enlightenemnt dep_e = dependency('enlightenment', version: '>= 0.23.99') e_modules_dir = dep_e.get_pkgconfig_variable('modules') diff --git a/src/meson.build b/src/meson.build index b8e73a7..306e287 100644 --- a/src/meson.build +++ b/src/meson.build @@ -4,7 +4,7 @@ module = shared_module( 'e_mod_main.c', 'e_mod_edgar.c', - dependencies : [dep_e, dep_py3, dep_dl], + dependencies : [dep_efl, dep_e, dep_py3, dep_dl], install_dir: lib_install_dir, include_directories: config_dir, install: true, --
[EGIT] [enlightenment/modules/edgar] master 01/01: Fix segv on gadget click for gadgets without a popup (in bryce desktop mode)
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=7c2a3206091093ef565718a3765562b4fcfb7db0 commit 7c2a3206091093ef565718a3765562b4fcfb7db0 Author: Dave Andreoli Date: Fri May 1 21:16:24 2020 +0200 Fix segv on gadget click for gadgets without a popup (in bryce desktop mode) --- src/e_mod_edgar.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 6e91266..7f554b5 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -447,7 +447,6 @@ edgar_request_popup_content(Edgar_Py_Gadget *gadget, Evas_Object *parent) return content; exit_error: - Py_XDECREF(pyparent); Py_XDECREF(pycontent); return NULL; } @@ -621,7 +620,7 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client *gcc) content = edgar_request_popup_content(gadget, popup->comp_object); if (!content) { - // e_object_del(popup); // this call segfault badly + e_object_del(E_OBJECT(popup)); return NULL; } --
[EGIT] [enlightenment/modules/edgar] master 01/01: Explicit link to dl lib
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=1f69754970cd4efbee10953e301b3858e34541dd commit 1f69754970cd4efbee10953e301b3858e34541dd Author: Dave Andreoli Date: Fri May 1 20:19:43 2020 +0200 Explicit link to dl lib Updated meson to 0.54.1 and was not compiling anymore without this --- meson.build | 5 + src/e_mod_edgar.c | 2 ++ src/meson.build | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 36321a1..a836512 100644 --- a/meson.build +++ b/meson.build @@ -17,6 +17,11 @@ e_release = dep_e.get_pkgconfig_variable('release') e_module_arch = dep_e.get_pkgconfig_variable('module_arch') + Dlopen +cc = meson.get_compiler('c') +dep_dl = cc.find_library('dl', required: false) + + Python3 py3 = import('python').find_installation('python3', modules: ['efl', 'dbus']) dep_py3 = py3.dependency(embed: true) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index b0f4fc7..6e91266 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -17,6 +17,8 @@ #include +#include + #include #include diff --git a/src/meson.build b/src/meson.build index 1ba6e51..b8e73a7 100644 --- a/src/meson.build +++ b/src/meson.build @@ -4,7 +4,7 @@ module = shared_module( 'e_mod_main.c', 'e_mod_edgar.c', - dependencies : [dep_e, dep_py3], + dependencies : [dep_e, dep_py3, dep_dl], install_dir: lib_install_dir, include_directories: config_dir, install: true, --
[EGIT] [enlightenment/modules/edgar] master 01/01: meson: link_args++
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=1b4d07fa9067d16a1ced27c7fc60e6b8abeb8757 commit 1b4d07fa9067d16a1ced27c7fc60e6b8abeb8757 Author: Dave Andreoli Date: Fri May 1 15:41:53 2020 +0200 meson: link_args++ --- src/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/src/meson.build b/src/meson.build index a6740eb..1ba6e51 100644 --- a/src/meson.build +++ b/src/meson.build @@ -9,4 +9,5 @@ module = shared_module( include_directories: config_dir, install: true, name_prefix: '', + link_args: '-Wl,--unresolved-symbols=ignore-in-object-files' ) --
[EGIT] [bindings/python/python-efl] master 01/01: Back to devel mode
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=22cc200a61eda3b6e8d431e991ec1b7d3de5a05b commit 22cc200a61eda3b6e8d431e991ec1b7d3de5a05b Author: Dave Andreoli Date: Thu Apr 30 08:13:09 2020 +0200 Back to devel mode --- efl/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/efl/__init__.py b/efl/__init__.py index 5eb7e13..83d1b93 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,8 +20,8 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.24.0" -__version_info__ = (1, 24, 0) +__version__ = "1.24.99" +__version_info__ = (1, 24, 99) __all__ = [ --
[EGIT] [bindings/python/python-efl] master 01/01: Update release instructions
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=09e016bdbdafc034465844ca95bc2aaccb292fc9 commit 09e016bdbdafc034465844ca95bc2aaccb292fc9 Author: Dave Andreoli Date: Thu Apr 30 07:57:59 2020 +0200 Update release instructions --- CODING | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CODING b/CODING index 1b48282..a91447f 100644 --- a/CODING +++ b/CODING @@ -111,7 +111,7 @@ Release process instructions * setup.py build_doc (check that inheritance graphs are there) * Test the generated tarballs * scp tarballs & md5sums to: - download.enlightenment.org:/srv/web/download.enlightenment.org/public_html/pre-releases/ + download.enlightenment.org:/srv/web/download.enlightenment.org/pre-releases/ * Announce at enlightenment-rele...@lists.sourceforge.net and enlightenment-de...@lists.sourceforge.net that tarballs are ready for testing @@ -119,7 +119,7 @@ Release process instructions release announcement for phame/ml. * ssh to download.enlightenment.org and mv tarballs & md5sums to: -/srv/web/download.enlightenment.org/public_html/rel/bindings/python/ +/srv/web/download.enlightenment.org/rel/bindings/python/ * Upload the .tar.gz archive to pypi: - NOTE: pypi is migrating to pypi.org domain, you must work on the new one - python setup.py sdist upload (need ~/.pypirc) @@ -129,7 +129,7 @@ Release process instructions * Create and push the branch for stable backporting git branch python-efl-1.9 && git push origin python-efl-1.9 * scp the jenkins generated html documentation to: - download.enlightenment.org:/srv/web/docs.enlightenment.org/public_html/python-efl/1.XX.0/ + download.enlightenment.org:/srv/web/docs.enlightenment.org/python-efl/1.XX.0/ and update the 'current' link on the server (ssh) * Update download link on the wiki (www.enlightenment.org/download) * Publish the blog post on phame (Official Announcements) --
[EGIT] [bindings/python/python-efl] master 01/01: Prepare the 1.24 release
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=bd81c36cd007859e7050a9af2e6a176a14c5ddac commit bd81c36cd007859e7050a9af2e6a176a14c5ddac Author: Dave Andreoli Date: Thu Apr 30 07:46:20 2020 +0200 Prepare the 1.24 release --- ChangeLog | 9 + INSTALL | 4 +++- efl/__init__.py | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 55a26ed..7fbfbaf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,13 @@ +=== +2020-04-30 v1.24.0 +=== + +Changes: + * Switched to Cython 0.29.16 for the tarball generation + * No more pypi packages uploaded, you must install from tarball + + === 2019-10-06 v1.23.0 === diff --git a/INSTALL b/INSTALL index c1494cd..dd098f2 100644 --- a/INSTALL +++ b/INSTALL @@ -8,12 +8,14 @@ * Cython 0.21 or higher (http://cython.org/) - Tested with Cython 0.29.16 - * EFL libs + * EFL must be the same minor version of the bindings, + es. python-efl 1.24 need efl 1.24 * To build the DOCS you will also need: - python-sphinx - [optional] graphviz + * At least 4GB of free RAM to build 2. BUILDING PYTHON-EFL diff --git a/efl/__init__.py b/efl/__init__.py index bc430c3..5eb7e13 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,8 +20,8 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.23.99" -__version_info__ = (1, 23, 99) +__version__ = "1.24.0" +__version_info__ = (1, 24, 0) __all__ = [ --
[EGIT] [bindings/python/python-efl] master 01/01: Explicitly declare efl submodules
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=81c48dd2d9b74492caf05abb2f6170205039cea2 commit 81c48dd2d9b74492caf05abb2f6170205039cea2 Author: Dave Andreoli Date: Wed Apr 29 08:37:53 2020 +0200 Explicitly declare efl submodules seems to make editors happier --- efl/__init__.py | 17 + 1 file changed, 17 insertions(+) diff --git a/efl/__init__.py b/efl/__init__.py index 4b17604..bc430c3 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -22,3 +22,20 @@ __version__ = "1.23.99" __version_info__ = (1, 23, 99) + + +__all__ = [ +'dbus_mainloop', +'ecore', +'ecore_con', +'ecore_input', +'ecore_x', +'edje', +'edje_edit', +'elementary', +'emotion', +'eo', +'ethumb', +'evas', +'utils', +] --
[EGIT] [bindings/python/python-efl] master 01/03: Follow efl rename Efl.Canvas.Text -> Efl.Canvas.Textblock
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a7e86793c3882b57e726d892baddae3da0c83b1d commit a7e86793c3882b57e726d892baddae3da0c83b1d Author: Dave Andreoli Date: Mon Apr 27 20:02:08 2020 +0200 Follow efl rename Efl.Canvas.Text -> Efl.Canvas.Textblock --- efl/evas/efl.evas_object_textblock.pxi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efl/evas/efl.evas_object_textblock.pxi b/efl/evas/efl.evas_object_textblock.pxi index 2ad355d..2340606 100644 --- a/efl/evas/efl.evas_object_textblock.pxi +++ b/efl/evas/efl.evas_object_textblock.pxi @@ -229,5 +229,5 @@ cdef class Textblock(Object): """ evas_object_textblock_obstacles_update(self.obj) -_object_mapping_register("Efl.Canvas.Text", Textblock) +_object_mapping_register("Efl.Canvas.Textblock", Textblock) --
[EGIT] [bindings/python/python-efl] master 02/03: Fix tests
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=32aec52918265d62afb0cd0f41cd4ef0f0e80623 commit 32aec52918265d62afb0cd0f41cd4ef0f0e80623 Author: Dave Andreoli Date: Mon Apr 27 20:02:57 2020 +0200 Fix tests --- tests/ecore/test_11_con.py | 10 +- tests/edje/test_02_object.py | 12 +++- tests/edje/test_05_decorators.py | 7 +++ tests/eo/test_02_class_names.py | 1 + 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/tests/ecore/test_11_con.py b/tests/ecore/test_11_con.py index d0f9b21..e53babd 100644 --- a/tests/ecore/test_11_con.py +++ b/tests/ecore/test_11_con.py @@ -15,7 +15,7 @@ class TestCon(unittest.TestCase): def testLookup(self): def _dns_complete(canonname, ip, sockaddr, arg1, my_karg): self.assertEqual(canonname, 'google-public-dns-a.google.com') -self.assertEqual(ip, '8.8.8.8') +self.assertIn(ip, ('8.8.8.8', '2001:4860:4860::')) self.assertEqual(arg1, "arg1") self.assertEqual(my_karg, 1234) self.complete = True @@ -23,7 +23,7 @@ class TestCon(unittest.TestCase): self.complete = False ecore_con.Lookup('google-public-dns-a.google.com', - _dns_complete, "arg1", my_karg=1234) + _dns_complete, "arg1", my_karg=1234) t = ecore.Timer(TIMEOUT, ecore.main_loop_quit) ecore.main_loop_begin() @@ -35,7 +35,7 @@ class TestCon(unittest.TestCase): self.complete_counter = 0 self.progress_counter = 0 self.exit_counter = 3 # we expect 3 complete cb calls -self.test_url = 'http://www.example.com' +self.test_url = 'http://www.google.com' self.received_data = [] def _on_complete(event, add=1): @@ -87,7 +87,7 @@ class TestCon(unittest.TestCase): u.delete() def testUrlDelete(self): -self.test_url1 = 'http://www.example.com' +self.test_url1 = 'http://www.facebook.com' self.test_url2 = 'http://www.google.com' self.complete_counter = 0 @@ -131,7 +131,7 @@ class TestCon(unittest.TestCase): u2.delete() def testUrlToFile(self): -self.test_url = 'http://www.example.com' +self.test_url = 'http://www.google.com' self.complete = False def _on_complete(event): diff --git a/tests/edje/test_02_object.py b/tests/edje/test_02_object.py index 97c6bee..81c6159 100644 --- a/tests/edje/test_02_object.py +++ b/tests/edje/test_02_object.py @@ -1,10 +1,12 @@ #!/usr/bin/env python +import os +import unittest +import logging + from efl import evas from efl import ecore from efl import edje -import os, unittest -import logging theme_path = os.path.dirname(os.path.abspath(__file__)) @@ -111,9 +113,9 @@ class TestEdjeObject(unittest.TestCase): o.delete() def testSignals(self): -expected_signals = ["seat,added,seat1,default", "edje,language,none", -"edje,state,ltr", "load", "edje,state,ltr", -"resize", "quit"] +expected_signals = ["edje,language,none", "edje,state,ltr", "load", +"edje,state,ltr", "resize", "quit"] + def _signal_cb(obj, emission, source): expected_signals.remove(emission) if emission == "quit": diff --git a/tests/edje/test_05_decorators.py b/tests/edje/test_05_decorators.py index b1552c4..05fbb1f 100644 --- a/tests/edje/test_05_decorators.py +++ b/tests/edje/test_05_decorators.py @@ -13,9 +13,9 @@ theme_path = os.path.dirname(os.path.abspath(__file__)) theme_file = os.path.join(theme_path, "theme.edj") -expected_signals = ["seat,added,seat1,default", "edje,language,none", -"edje,state,ltr", "load", "edje,state,ltr", "resize", -"emit,message", "emit,message"] +expected_signals = ["edje,language,none", "edje,state,ltr", "load", +"edje,state,ltr", "resize", "emit,message", "emit,message", +"edje,text,changed", "edje,text,changed"] expected_signals2 = ["load", "resize"] expected_messages = [33, 33] expected_text_parts = ["label", "label"] @@ -25,7 +25,6 @@ class MyEdje(Edje): def __init__(self, canvas): Edje.__init__(self, canvas, file=theme_file, group="main") - @edje.on_signal("*", "*") def cb_signal_all(self, emission, source): if source == "" or source == "edje": diff --git a/tests/eo/test_02_class_names.py b/tests/eo/test_02_class_names.py index e3354f2..a776a87 100644 --- a/tests/eo/test_02_class_names.py +++ b/tests/eo/test_02_class_names.py @@ -24,6 +24,7 @@ Elm_Web -> Web """ + class TestElmClassNames(unittest.TestCase): def setUp(self): --
[EGIT] [bindings/python/python-efl] master 03/03: Update INSTALL
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=b9117cb5900b60596aa510264bf7149be8673d58 commit b9117cb5900b60596aa510264bf7149be8673d58 Author: Dave Andreoli Date: Mon Apr 27 20:04:16 2020 +0200 Update INSTALL --- INSTALL | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/INSTALL b/INSTALL index ebb7077..c1494cd 100644 --- a/INSTALL +++ b/INSTALL @@ -3,17 +3,12 @@ === * Python 2.6 or higher, 3.2 or higher (http://www.python.org/) - - Tested with Python 2.7 / 3.3 / 3.4 + - Tested with Python 3.8 * Cython 0.21 or higher (http://cython.org/) - - Tested with Cython 0.21.2 + - Tested with Cython 0.29.16 - * EFL core library - - eo, evas, ecore, edje, emotion and elementary - - * pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config) - - Windows executable (and GLib dependency) can be downloaded from - http://www.gtk.org/download/win32.php + * EFL libs * To build the DOCS you will also need: - python-sphinx @@ -29,6 +24,11 @@ python setup.py build + IMPORTANT NOTE: + To build the bindings you will need at least 4GB of free ram! + Otherwise the build process will badly fail. + + Distribution tarballs include pre-generated C source files, so cython usage is disabled by default, while is enabled in development git versions. You can always force the usage of cython using two environment --
[EGIT] [bindings/python/python-efl] master 01/01: gitignore++
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=a1eeae15f8df6f0dde50add81aad37a241a05077 commit a1eeae15f8df6f0dde50add81aad37a241a05077 Author: Dave Andreoli Date: Mon Apr 27 19:16:23 2020 +0200 gitignore++ --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index cc784ea..8d40005 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ efl/*/*.c efl/*/*.h !efl/dbus_mainloop/e_dbus.* efl/*/*.html + +# Various editors trash +.idea/ --
[EGIT] [enlightenment/modules/edgar] master 01/01: A much better way to find the libpython soname
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=26a99ee82e8a271e1ae37b3eb863d53eb241ab0d commit 26a99ee82e8a271e1ae37b3eb863d53eb241ab0d Author: Dave Andreoli Date: Sun Apr 26 09:01:17 2020 +0200 A much better way to find the libpython soname This should work 100% of the time, since py 3.2, and without any fuzzy searching --- meson.build | 6 ++ src/e_mod_edgar.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index cbfc1d3..36321a1 100644 --- a/meson.build +++ b/meson.build @@ -20,9 +20,14 @@ e_module_arch = dep_e.get_pkgconfig_variable('module_arch') Python3 py3 = import('python').find_installation('python3', modules: ['efl', 'dbus']) dep_py3 = py3.dependency(embed: true) + +## bytecompile command to be used by gadgets py3_bytecompile = [py3, meson.source_root() / 'meson_bytecompile.py', '@INPUT@', '@OUTPUT@'] +## find the installed libpython soname, will be dlopened at runtime +py_instsoname = py3.get_variable('INSTSONAME') + Install dirs mod_install_dir = join_paths(e_modules_dir, meson.project_name()) @@ -33,6 +38,7 @@ gadgets_install_dir = join_paths(e_lib_dir, 'enlightenment', 'edgar_gadgets') Config.h config_h = configuration_data() config_h.set_quoted('PACKAGE', meson.project_name()) +config_h.set_quoted('PYINSTSONAME', py_instsoname) config_dir = include_directories('.') diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 09aa3fe..b0f4fc7 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -20,6 +20,7 @@ #include #include +#include "edgar_config.h" #include "e_mod_main.h" #include "e_mod_edgar.h" #include "efl.eo_api.h" @@ -151,10 +152,10 @@ edgar_init() // Make cpython visible to gadgets and to gadgets imported modules // NOTE: This is needed because e load modules using RTLD_LOCAL - py3_lib_handle = dlopen("libpython3.so", (RTLD_LAZY | RTLD_GLOBAL)); + // NOTE: PYINSTSONAME is gathered at build time from the sysconfig module + py3_lib_handle = dlopen(PYINSTSONAME, (RTLD_LAZY | RTLD_GLOBAL)); if (!py3_lib_handle) { - DBG("EDGAR: Cannot find libpython3.so"); e_util_dialog_internal("Edgar Error", "Cannot find Python3 lib." "Your python gadgets will not work." --
[EGIT] [enlightenment/modules/extramenu] master 01/01: meson: link_args++
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/extramenu.git/commit/?id=1819471de1d1723cc82dea0e99ed0cef3e6b219e commit 1819471de1d1723cc82dea0e99ed0cef3e6b219e Author: Dave Andreoli Date: Sat Apr 25 21:42:27 2020 +0200 meson: link_args++ --- meson.build | 2 +- src/meson.build | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index f7fa6e8..aaf94cf 100644 --- a/meson.build +++ b/meson.build @@ -7,7 +7,7 @@ project('extramenu', 'c', Enlightenemnt -dep_e = dependency('enlightenment') +dep_e = dependency('enlightenment', version: '>= 0.23.99') e_modules_dir = dep_e.get_pkgconfig_variable('modules') e_release = dep_e.get_pkgconfig_variable('release') e_module_arch = dep_e.get_pkgconfig_variable('module_arch') diff --git a/src/meson.build b/src/meson.build index 005a229..de987ee 100644 --- a/src/meson.build +++ b/src/meson.build @@ -8,4 +8,5 @@ module = shared_module( include_directories: config_dir, install: true, name_prefix: '', + link_args: '-Wl,--unresolved-symbols=ignore-in-object-files' ) --
[EGIT] [enlightenment/modules/penguins] master 01/01: meson: link_args++
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=27f8152634f263b6f3c03345b596fad4c1a9f6f0 commit 27f8152634f263b6f3c03345b596fad4c1a9f6f0 Author: Dave Andreoli Date: Sat Apr 25 21:41:59 2020 +0200 meson: link_args++ --- meson.build | 2 +- src/meson.build | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 796f734..e3c53ae 100644 --- a/meson.build +++ b/meson.build @@ -9,7 +9,7 @@ gettext_domain = 'e-module-' + meson.project_name() Enlightenemnt -dep_e = dependency('enlightenment') +dep_e = dependency('enlightenment', version: '>= 0.23.99') e_modules_dir = dep_e.get_pkgconfig_variable('modules') e_release = dep_e.get_pkgconfig_variable('release') e_module_arch = dep_e.get_pkgconfig_variable('module_arch') diff --git a/src/meson.build b/src/meson.build index 3da6c0e..b441fb7 100644 --- a/src/meson.build +++ b/src/meson.build @@ -10,4 +10,5 @@ module = shared_module( include_directories: config_dir, install: true, name_prefix: '', + link_args: '-Wl,--unresolved-symbols=ignore-in-object-files' ) --
[EGIT] [enlightenment/modules/places] master 01/01: meson: link_args++
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=b25c7c552985216c079470c5d5595a7c33e0949b commit b25c7c552985216c079470c5d5595a7c33e0949b Author: Dave Andreoli Date: Sat Apr 25 21:43:18 2020 +0200 meson: link_args++ --- src/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/src/meson.build b/src/meson.build index 174176c..7a576b0 100644 --- a/src/meson.build +++ b/src/meson.build @@ -14,4 +14,5 @@ module = shared_module( include_directories: config_dir, install: true, name_prefix: '', + link_args: '-Wl,--unresolved-symbols=ignore-in-object-files' ) --
[EGIT] [enlightenment/modules/edgar] master 01/02: Audio: reformat to make pycharm happy
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=146d656a1ed56b0127c550925b636ccd4f181c1a commit 146d656a1ed56b0127c550925b636ccd4f181c1a Author: Dave Andreoli Date: Fri Apr 24 17:11:42 2020 +0200 Audio: reformat to make pycharm happy it also spotted 2 real bug, so good work pycharm --- gadgets/audio/__init__.py | 96 +-- 1 file changed, 52 insertions(+), 44 deletions(-) diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py index a13f73f..ca65905 100644 --- a/gadgets/audio/__init__.py +++ b/gadgets/audio/__init__.py @@ -21,12 +21,12 @@ __gadget_auth__ = 'DaveMDS' __gadget_mail__ = 'd...@gurumeditation.it' __gadget_desc__ = 'The complete audio gadget.' __gadget_vapi__ = 2 -__gadget_opts__ = { 'popup_on_desktop': True } +__gadget_opts__ = {'popup_on_desktop': True} # def DBG(msg): - # print("AUDIO: %s" % msg) - # sys.stdout.flush() +#print("AUDIO: %s" % msg) +#sys.stdout.flush() _instance = None @@ -41,7 +41,7 @@ class Gadget(e.Gadget): super().__init__() self.player_objs = {} # key: Player instance val: (list of edje objs) -self.channel_objs = {} # key: Channel instance val: (list of elm Slider) +self.channel_objs = {} # key: Channel instance val: (list of elm Slider) self.mpris = Mpris2_Client() self.pulse = PulseAudio_Client() @@ -52,7 +52,7 @@ class Gadget(e.Gadget): obj.signal_callback_add('mouse,down,2', 'over', self.speaker_click_cb) obj.signal_callback_add('mouse,wheel,*', 'over', self.speaker_wheel_cb) -obj.size_hint_aspect = evas.EVAS_ASPECT_CONTROL_BOTH , 16, 16 +obj.size_hint_aspect = evas.EVAS_ASPECT_CONTROL_BOTH, 16, 16 self.speaker_update(obj) def instance_destroyed(self, obj): @@ -88,12 +88,12 @@ class Gadget(e.Gadget): main_box.show() players_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ, -size_hint_fill=FILL_HORIZ) + size_hint_fill=FILL_HORIZ) main_box.pack_end(players_box) players_box.show() volumes_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ, -size_hint_fill=FILL_HORIZ) + size_hint_fill=FILL_HORIZ) main_box.pack_end(volumes_box) volumes_box.show() @@ -109,7 +109,7 @@ class Gadget(e.Gadget): for ch in self.pulse.channels: self.popup_volume_add(main_box, ch) else: -lb = elm.Label(popup, text='Cannot connect to PulseAudio') +lb = elm.Label(volumes_box, text='Cannot connect to PulseAudio') volumes_box.pack_start(lb) lb.show() @@ -132,10 +132,10 @@ class Gadget(e.Gadget): o = elm.Layout(popup) e.theme_object_set(o, 'audio', 'player') -o.signal_callback_add('act,play', '', lambda o,sig,src: player.play()) -o.signal_callback_add('act,prev', '', lambda o,sig,src: player.prev()) -o.signal_callback_add('act,next', '', lambda o,sig,src: player.next()) -o.signal_callback_add('act,rais', '', lambda o,sig,src: player.rais()) +o.signal_callback_add('act,play', '', lambda obj, sig, src: player.play()) +o.signal_callback_add('act,prev', '', lambda obj, sig, src: player.prev()) +o.signal_callback_add('act,next', '', lambda obj, sig, src: player.next()) +o.signal_callback_add('act,rais', '', lambda obj, sig, src: player.rais()) self.player_update(o, player) o.show() @@ -144,7 +144,7 @@ class Gadget(e.Gadget): popup.data['players_box'].pack_end(o) # keep track of this obj in the player_objs dict -if not player in self.player_objs: +if player not in self.player_objs: self.player_objs[player] = [] self.player_objs[player].append(o) @@ -164,7 +164,8 @@ class Gadget(e.Gadget): # remove the player from our list del self.player_objs[player] -def player_update(self, obj, player): +@staticmethod +def player_update(obj, player): # player name obj.part_text_set('player_name', player.label or player.name) @@ -186,7 +187,8 @@ class Gadget(e.Gadget): # cover image img = obj.content_unset('cover.swallow') -if img: img.delete() +if img: +img.delete() if 'mpris:artUrl' in player.
[EGIT] [enlightenment/modules/edgar] master 02/02: Audio: do not show the indicator in sliders
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=443bf2efbf8409e8716258ae8578b7b8ccb8bc06 commit 443bf2efbf8409e8716258ae8578b7b8ccb8bc06 Author: Dave Andreoli Date: Fri Apr 24 17:30:54 2020 +0200 Audio: do not show the indicator in sliders This wasn't visible in the paste, something is changed in efl... --- .gitignore| 1 + gadgets/audio/__init__.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 567609b..a83bb87 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ build/ +.idea/ diff --git a/gadgets/audio/__init__.py b/gadgets/audio/__init__.py index ca65905..ca034c5 100644 --- a/gadgets/audio/__init__.py +++ b/gadgets/audio/__init__.py @@ -201,7 +201,8 @@ class Gadget(e.Gadget): def popup_volume_add(self, popup, channel): sl = elm.Slider(popup, text=channel.name, min_max=(0, 65500), -span_size=150, size_hint_expand=EXPAND_HORIZ, +span_size=150, indicator_show=False, +size_hint_expand=EXPAND_HORIZ, size_hint_fill=FILL_HORIZ) sl.value = channel.volume sl.disabled = True if channel.muted else False --
[EGIT] [enlightenment/modules/edgar] master 01/01: Make bytecompile works again
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=3641ce6480dde2c9d74269af404e57d3c82b839e commit 3641ce6480dde2c9d74269af404e57d3c82b839e Author: Dave Andreoli Date: Thu Apr 23 08:32:14 2020 +0200 Make bytecompile works again --- README | 3 ++- gadgets/audio/meson.build | 21 + gadgets/calculator/meson.build | 13 ++--- gadgets/cpu/meson.build| 12 +--- gadgets/dropbox/meson.build| 12 +--- gadgets/led_clock/meson.build | 12 +--- gadgets/mem/meson.build| 12 +--- gadgets/netspeed/meson.build | 12 +--- meson.build| 2 ++ meson_bytecompile.py | 5 + 10 files changed, 73 insertions(+), 31 deletions(-) diff --git a/README b/README index 7073db6..be51f04 100644 --- a/README +++ b/README @@ -1,4 +1,5 @@ Edgar Gadget Loader +=== This module load python gadgets in Enlightenment. @@ -15,7 +16,7 @@ Requirements Install === -To install the edgar and all the incluede gadgets just use: +To install the edgar and all the included gadgets just use: meson build ninja -C build diff --git a/gadgets/audio/meson.build b/gadgets/audio/meson.build index ee95860..7d77f4e 100644 --- a/gadgets/audio/meson.build +++ b/gadgets/audio/meson.build @@ -5,7 +5,7 @@ gadget_name = 'audio' install_dir = join_paths(gadgets_install_dir, gadget_name) -# build gadget_name.edj +# Build gadget_name.edj custom_target(gadget_name + '.edj', input : gadget_name + '.edc', output : gadget_name + '.edj', @@ -17,14 +17,11 @@ custom_target(gadget_name + '.edj', install: true ) -# TODO: bytecompile gadget __init__.py -# py3_bytecompile = [py3, '-c', 'from py_compile import compile; compile("@INPUT@", "@OUTPUT@")'] -#custom_target('__init__.pyc', -# input : '__init__.py', -# output : '__init__.pyc', -# command: py3_bytecompile, -# install_dir: gadget_install_dir, -# install: true -# ) - -install_data('__init__.py', install_dir: install_dir) +# Bytecompile gadget script +custom_target('__init__.pyc', + input : '__init__.py', + output : '__init__.pyc', + command: py3_bytecompile, + install_dir: install_dir, + install: true + ) diff --git a/gadgets/calculator/meson.build b/gadgets/calculator/meson.build index 5369a26..2dbd9a3 100644 --- a/gadgets/calculator/meson.build +++ b/gadgets/calculator/meson.build @@ -5,7 +5,7 @@ gadget_name = 'calculator' install_dir = join_paths(gadgets_install_dir, gadget_name) -# build gadget_name.edj +# Build gadget_name.edj custom_target(gadget_name + '.edj', input : gadget_name + '.edc', output : gadget_name + '.edj', @@ -17,5 +17,12 @@ custom_target(gadget_name + '.edj', install: true ) -# TODO: bytecompile gadget __init__.py -install_data('__init__.py', install_dir: install_dir) +# Bytecompile gadget script +custom_target('__init__.pyc', + input : '__init__.py', + output : '__init__.pyc', + command: py3_bytecompile, + install_dir: install_dir, + install: true + ) + diff --git a/gadgets/cpu/meson.build b/gadgets/cpu/meson.build index 4fb0b2a..1569d70 100644 --- a/gadgets/cpu/meson.build +++ b/gadgets/cpu/meson.build @@ -5,7 +5,7 @@ gadget_name = 'cpu' install_dir = join_paths(gadgets_install_dir, gadget_name) -# build gadget_name.edj +# Build gadget_name.edj custom_target(gadget_name + '.edj', input : gadget_name + '.edc', output : gadget_name + '.edj', @@ -17,5 +17,11 @@ custom_target(gadget_name + '.edj', install: true ) -# TODO: bytecompile gadget __init__.py -install_data('__init__.py', install_dir: install_dir) +# Bytecompile gadget script +custom_target('__init__.pyc', + input : '__init__.py', + output : '__init__.pyc', + command: py3_bytecompile, + install_dir: install_dir, + install: true + ) diff --git a/gadgets/dropbox/meson.build b/gadgets/dropbox/meson.build index d8087e3..bd7ff16 100644 --- a/gadgets/dropbox/meson.build +++ b/gadgets/dropbox/meson.build @@ -5,7 +5,7 @@ gadget_name = 'dr
[EGIT] [enlightenment/modules/edgar] master 01/01: Finally make edgar works again with recent E \o/
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=e4803fdb3f1f02852feb4179efef74680c0a78af commit e4803fdb3f1f02852feb4179efef74680c0a78af Author: Dave Andreoli Date: Thu Apr 23 07:52:26 2020 +0200 Finally make edgar works again with recent E \o/ Many thanks to raster for helping find a solution...and spank him for breaking edgar :D --- src/e_mod_edgar.c | 19 ++- src/e_mod_edgar.h | 2 +- src/e_mod_main.c | 2 +- src/e_mod_main.h | 2 +- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 329fc95..09aa3fe 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS) +/* Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS) * * This file is part of edgar. * edgar is free software: you can redistribute it and/or modify @@ -82,6 +82,7 @@ PyMODINIT_FUNC PyInit_eapi(void); /* Local Variables */ +static void *py3_lib_handle; static const char *edgar_gadgets_system_dir; //ex: "/usr/lib/enlightenment/gadgets/" static Eina_Hash *edgar_gadgets; //key: "gadget_name" val: Edgar_Py_Gadget* static PyObject *evasObjectType; @@ -148,6 +149,19 @@ edgar_init() char buf[PATH_MAX]; int ret; + // Make cpython visible to gadgets and to gadgets imported modules + // NOTE: This is needed because e load modules using RTLD_LOCAL + py3_lib_handle = dlopen("libpython3.so", (RTLD_LAZY | RTLD_GLOBAL)); + if (!py3_lib_handle) + { + DBG("EDGAR: Cannot find libpython3.so"); + e_util_dialog_internal("Edgar Error", + "Cannot find Python3 lib." + "Your python gadgets will not work." + "Please make sure Python3 is installed."); + return EINA_FALSE; + } + // prepare the local scope snprintf(buf, sizeof(buf), "%s/enlightenment/edgar_gadgets", e_prefix_lib_get()); edgar_gadgets_system_dir = eina_stringshare_add(buf); @@ -219,6 +233,9 @@ edgar_shutdown() // clean local scope eina_stringshare_del(edgar_gadgets_system_dir); + if (py3_lib_handle) + dlclose(py3_lib_handle); + DBG("EDGAR: Shutdown completed!"); } diff --git a/src/e_mod_edgar.h b/src/e_mod_edgar.h index 0b257a8..ebca6b1 100644 --- a/src/e_mod_edgar.h +++ b/src/e_mod_edgar.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS) +/* Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS) * * This file is part of edgar. * edgar is free software: you can redistribute it and/or modify diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 16b897a..48daa86 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS) +/* Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS) * * This file is part of edgar. * edgar is free software: you can redistribute it and/or modify diff --git a/src/e_mod_main.h b/src/e_mod_main.h index ab4ba76..2b61f98 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS) +/* Copyright (C) 2008-2020 Davide Andreoli (see AUTHORS) * * This file is part of edgar. * edgar is free software: you can redistribute it and/or modify --
[EGIT] [enlightenment/modules/edgar] master 01/01: Edgar: switch to meson
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=53bdf254bdb5d960b3aed1a2ea66c3b38b3853b8 commit 53bdf254bdb5d960b3aed1a2ea66c3b38b3853b8 Author: Dave Andreoli Date: Tue Apr 21 11:49:02 2020 +0200 Edgar: switch to meson ...still not working with recent e, that changed the way modules are loaded --- .gitignore | 60 +- COPYING.LESSER | 165 GADGETS/audio/Makefile | 36 - GADGETS/calculator/Makefile| 36 - GADGETS/cpu/Makefile | 36 - GADGETS/dropbox/Makefile | 36 - GADGETS/led_clock/Makefile | 36 - GADGETS/mem/Makefile | 36 - GADGETS/netspeed/Makefile | 36 - INSTALL| 246 +- Makefile.am| 25 - README | 24 +- autogen.sh | 16 - configure.ac | 84 -- {GADGETS => gadgets}/audio/__init__.py | 0 {GADGETS => gadgets}/audio/audio.edc | 0 {GADGETS => gadgets}/audio/images/cover.png| Bin {GADGETS => gadgets}/audio/images/icon_mixer.png | Bin {GADGETS => gadgets}/audio/images/icon_next.png| Bin {GADGETS => gadgets}/audio/images/icon_pause.png | Bin {GADGETS => gadgets}/audio/images/icon_play.png| Bin {GADGETS => gadgets}/audio/images/icon_prev.png| Bin .../audio/images/inset_round_hilight.png | Bin .../audio/images/inset_round_shading.png | Bin .../audio/images/inset_round_shadow.png| Bin .../audio/images/led_dot_white.png | Bin {GADGETS => gadgets}/audio/images/speaker.png | Bin gadgets/audio/meson.build | 30 + {GADGETS => gadgets}/calculator/__init__.py| 0 {GADGETS => gadgets}/calculator/calculator.edc | 0 {GADGETS => gadgets}/calculator/fonts/Vera.ttf | Bin {GADGETS => gadgets}/calculator/images/0.png | Bin {GADGETS => gadgets}/calculator/images/1.png | Bin {GADGETS => gadgets}/calculator/images/2.png | Bin {GADGETS => gadgets}/calculator/images/3.png | Bin {GADGETS => gadgets}/calculator/images/4.png | Bin {GADGETS => gadgets}/calculator/images/5.png | Bin {GADGETS => gadgets}/calculator/images/6.png | Bin {GADGETS => gadgets}/calculator/images/7.png | Bin {GADGETS => gadgets}/calculator/images/8.png | Bin {GADGETS => gadgets}/calculator/images/9.png | Bin {GADGETS => gadgets}/calculator/images/bg.png | Bin {GADGETS => gadgets}/calculator/images/canc.png| Bin {GADGETS => gadgets}/calculator/images/divide.png | Bin {GADGETS => gadgets}/calculator/images/m-c.png | Bin {GADGETS => gadgets}/calculator/images/m-minus.png | Bin {GADGETS => gadgets}/calculator/images/m-plus.png | Bin {GADGETS => gadgets}/calculator/images/m-r.png | Bin {GADGETS => gadgets}/calculator/images/minus.png | Bin .../calculator/images/multiply.png | Bin {GADGETS => gadgets}/calculator/images/plus.png| Bin {GADGETS => gadgets}/calculator/images/point.png | Bin {GADGETS => gadgets}/calculator/images/result.png | Bin gadgets/calculator/meson.build | 21 + {GADGETS => gadgets}/cpu/__init__.py | 0 {GADGETS => gadgets}/cpu/cpu.edc | 0 {GADGETS => gadgets}/cpu/images/bar_bg.png | Bin {GADGETS => gadgets}/cpu/images/cpu.png| Bin {GADGETS => gadgets}/cpu/images/green_on.png | Bin {GADGETS => gadgets}/cpu/images/mockup.xcf | Bin {GADGETS => gadgets}/cpu/images/red_on.png | Bin {GADGETS => gadgets}/cpu/images/yellow_on.png | Bin gadgets/cpu/meson.build| 21 + {GADGETS => gadgets}/dropbox/__init__.py | 0 .../dropbox/docs/dropboxd-protocol | 0 {GADGETS => gadgets}/dropbox/dropbox.edc | 0 {GADGETS => gadgets}/dropbox/images/dropbox.png| Bin .../dropbox/images/dropbox_gray.png| Bin .../dropbox/images/emblem-syncing.png | Bin .../dropbox/images/emblem-unsyncable.png | Bin .../dropbox/images/emblem-uptodate.png | Bin gadgets/dropbox/meson.build| 21 + {GADGETS => gadgets}/led_clock/__init__.py | 0 {GADGETS => gadgets}/led_clock/images/bg.png | Bin {GADGETS => gadgets}/led_clock/images/bg_orig.png | Bin {GADGETS => gadgets}/led_clock/images/icon.png | Bin {GADGETS
[EGIT] [enlightenment/modules/forecasts] master 01/01: Forecasts: make translation works again
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/forecasts.git/commit/?id=1a2f682b283291aa819879a76ffb3c6e952911b2 commit 1a2f682b283291aa819879a76ffb3c6e952911b2 Author: Dave Andreoli Date: Sun Apr 19 10:29:55 2020 +0200 Forecasts: make translation works again NLS was probably broken since the switch to meson, this commit fix 2 issues: * config.h was not readed at all, renamed to forecasts_config.g and included * meson install po files in system dir, not in E modules dir like it was before --- meson.build | 6 +- src/e_mod_main.c | 5 + src/e_mod_main.h | 2 ++ src/meson.build | 1 + 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index 68cd960..adfa753 100644 --- a/meson.build +++ b/meson.build @@ -21,9 +21,13 @@ edje_cmd = find_program('edje_cc') install_mod_dir = join_paths(dir_module_e, meson.project_name()) install_dir = join_paths(install_mod_dir, module_arch) +locale_dir = join_paths(get_option('prefix'), get_option('localedir')) config_data = configuration_data() +config_data.set_quoted('PACKAGE', meson.project_name()) config_data.set_quoted('MODULE_DIR', install_dir) +config_data.set_quoted('LOCALE_DIR', locale_dir) +config_dir = include_directories('.') use_translations = false intl_lib = cc.find_library('intl', required: false) @@ -47,7 +51,7 @@ endif subdir('src') -configure_file(output: 'config.h', install: false, configuration: config_data) +configure_file(output: 'forecast_config.h', install: false, configuration: config_data) install_data('module.desktop', install_dir : install_mod_dir) diff --git a/src/e_mod_main.c b/src/e_mod_main.c index fbf0c10..8976a45 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -392,10 +392,7 @@ EAPI E_Module_Api e_modapi = { EAPI void * e_modapi_init(E_Module *m) { - char buf[4095]; - - snprintf(buf, sizeof(buf), "%s/locale", e_module_dir_get(m)); - bindtextdomain(PACKAGE, buf); + bindtextdomain(PACKAGE, LOCALE_DIR); bind_textdomain_codeset(PACKAGE, "UTF-8"); conf_item_edd = E_CONFIG_DD_NEW("Forecasts_Config_Item", Config_Item); diff --git a/src/e_mod_main.h b/src/e_mod_main.h index bdc43ec..ca09bf1 100644 --- a/src/e_mod_main.h +++ b/src/e_mod_main.h @@ -1,6 +1,8 @@ #ifndef E_MOD_MAIN_H #define E_MOD_MAIN_H +#include "forecast_config.h" + #ifdef ENABLE_NLS # include # define D_(string) dgettext(PACKAGE, string) diff --git a/src/meson.build b/src/meson.build index bbb9b20..83fbf96 100644 --- a/src/meson.build +++ b/src/meson.build @@ -5,6 +5,7 @@ module = shared_module('module', 'e_mod_main.c', 'e_mod_config.c', dependencies : [e, json], install_dir: install_dir, + include_directories: config_dir, install: true, name_prefix: '', link_args: '-Wl,--unresolved-symbols=ignore-in-object-files') --
[EGIT] [enlightenment/modules/places] master 01/01: Places: autotools files--
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ee9b1bd477bd8c554c0be68cf1f066a1a4b26668 commit ee9b1bd477bd8c554c0be68cf1f066a1a4b26668 Author: Dave Andreoli Date: Sun Apr 19 10:09:17 2020 +0200 Places: autotools files-- --- Makefile.am | 32 - configure.ac | 143 --- 2 files changed, 175 deletions(-) diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 4e7d1fc..000 --- a/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 -MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \ - config.sub configure depcomp install-sh ltmain.sh \ - missing module.desktop config.rpath mkinstalldirs - -SUBDIRS = src - -if HAVE_PO - -SUBDIRS += po - -endif - -EDJE_FLAGS = -v \ --id $(top_srcdir)/images - -filesdir = $(datadir) -files_DATA = module.desktop e-module-places.edj - -EXTRA_DIST = module.desktop.in \ -e_modules-places.spec.in \ -$(wildcard images/*.png) \ -e-module-places.edc - -%.edj: %.edc - $(EDJE_CC) $(EDJE_FLAGS) $< $@ - -clean-local: -rm -rf e-module-places.edj module.desktop e_modules-places.spec *~ - -uninstall: -rm -rf $(DESTDIR)$(datadir) diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 8025481..000 --- a/configure.ac +++ /dev/null @@ -1,143 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. - -# get rid of that stupid cache mechanism -rm -f config.cache - -AC_INIT(places, 0.20, d...@gurumeditation.it) -AC_PREREQ(2.52) -AC_CONFIG_SRCDIR(configure.ac) -AC_CANONICAL_BUILD -AC_CANONICAL_HOST -AC_ISC_POSIX - -AM_INIT_AUTOMAKE(1.8) -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -AC_CONFIG_HEADERS(config.h) - -AC_PROG_CC -AC_HEADER_STDC -AC_C_CONST -AC_C___ATTRIBUTE__ - -define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl -define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl -AC_PROG_LIBTOOL - -m4_ifdef([AM_GNU_GETTEXT_VERSION], [ -AM_GNU_GETTEXT_VERSION([0.14]) -]) - -m4_ifdef([AM_GNU_GETTEXT], [ -AM_GNU_GETTEXT([external]) -po_makefile_in=po/Makefile.in -AM_CONDITIONAL([HAVE_PO], [true]) -],[ -AM_CONDITIONAL([HAVE_PO], [false]) -]) -AC_SUBST(LTLIBINTL) - -# check for Enlightenment -PKG_CHECK_MODULES(E, [enlightenment >= 0.19.99]) -release=$(pkg-config --variable=release enlightenment) -MODULE_ARCH="$host_os-$host_cpu-$release" -AC_SUBST(MODULE_ARCH) -AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") - -# Find edje_cc -PKG_CHECK_MODULES(EDJE, [edje >= 1.8]) -AC_ARG_WITH(edje-cc, - AC_HELP_STRING([--with-edje-cc=PATH], [specify a specific path to edje_cc]), - [ -v=$withval; -EDJE_CC=$v - ],[ -EDJE_CC=$(pkg-config --variable=prefix edje)/bin/edje_cc - ] -) -AC_SUBST(EDJE_CC) -AC_MSG_CHECKING([Which edje_cc to use]) -AC_MSG_RESULT(${EDJE_CC}) - -# check for eldbus (default enabled) -PKG_CHECK_MODULES([ELDBUS], [eldbus >= 1.8], - [have_eldbus="yes"], [have_eldbus="no"]) -want_eldbus=yes -AC_ARG_ENABLE([eldbus], - AS_HELP_STRING([--enable-eldbus],[enable UDisks with eldbus support @<:@default=enabled@:>@]), - [want_eldbus=$enableval]) -if test "x$want_eldbus" = "xno";then - have_eldbus=no -fi - -# check for mount (default enabled) -#TODO here check if /etc/fstab and /proc/mounts exists -have_mount=yes -want_mount=yes -AC_ARG_ENABLE([mount], - AS_HELP_STRING([--enable-mount],[enable mount fstab/mtab support @<:@default=enabled@:>@]), - [want_mount=$enableval]) -if test "x$want_mount" = "xno";then - have_mount=no -fi - -# check for eeze (default disabled) -PKG_CHECK_MODULES([EEZE], [eeze >= 1.1.99], - [have_eeze="yes"], [have_eeze="no"]) -want_eeze=no -AC_ARG_ENABLE([eeze], - AS_HELP_STRING([--enable-eeze],[enable eeze support @<:@default=disabled@:>@]), - [want_eeze=$enableval]) -if test "x$want_eeze" != "xyes";then - have_eeze=no -fi - - -AM_CONDITIONAL([PLACES_HAVE_ELDBUS], [test "x$have_eldbus" = "xyes"]) -test "x$have_eldbus" = "xyes" && AC_DEFINE_UNQUOTED([PLACES_HAVE_ELDBUS], [1], [enable eldbus support]) - -AM_CONDITIONAL([PLACES_HAVE_EEZE], [test "x$have_eeze" = "xyes"]) -test "x$have_eeze" = "xyes" && AC_DEFINE_UNQUOTED([PLACES_HAVE_EEZE], [1], [enable eeze support]) - -AM_CONDITIONAL([PLACES_HAVE_MOUNT], [test "x$have_mount" = "xyes"]) -test "x$have_mount" = "xyes" && AC_DEFINE_UNQUOTED([PLACES_HAVE_MOUNT], [1], [enable mount support]) - - -# homedir install -datadir=$(pkg-config --variable=modules enlightenment)/${PACKAGE} -AC_ARG_ENABLE(homedir
[EGIT] [enlightenment/modules/places] master 01/01: Places: switch to meson and GPLv3
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=ffd508e11351da3f9631a021d1d7b99a4449561f commit ffd508e11351da3f9631a021d1d7b99a4449561f Author: Dave Andreoli Date: Sun Apr 19 10:06:07 2020 +0200 Places: switch to meson and GPLv3 --- .gitignore | 85 + COPYING | 704 ++-- INSTALL | 246 + autogen.sh | 17 - e_modules-places.spec.in| 48 --- m4/ac_attribute.m4 | 47 --- meson.build | 86 + meson_options.txt | 16 + module.desktop.in => module.desktop | 0 po/Makevars | 41 --- po/{POTFILES.in => POTFILES}| 0 po/meson.build | 10 + po/places.pot | 158 src/Makefile.am | 27 -- src/e_mod_config.c | 9 +- src/e_mod_eeze.c| 4 +- src/e_mod_main.c| 9 +- src/e_mod_main.h| 4 +- src/e_mod_mount.c | 4 +- src/e_mod_places.c | 13 +- src/e_mod_udisks_eldbus.c | 11 +- src/meson.build | 17 + 22 files changed, 1001 insertions(+), 555 deletions(-) diff --git a/.gitignore b/.gitignore index 585bee3..567609b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,84 +1 @@ -*~ -*swo -*swp -ABOUT-NLS -Makefile -Makefile.in -aclocal.m4 -autom4te.cache/ -config.guess -config.h -config.h.in -config.log -config.rpath -config.status -config.sub -configure -depcomp -e-module-places.edj -e_modules-places.spec -install-sh -libtool -ltmain.sh -m4/codeset.m4 -m4/gettext.m4 -m4/glibc21.m4 -m4/iconv.m4 -m4/intdiv0.m4 -m4/intmax.m4 -m4/inttypes-pri.m4 -m4/inttypes.m4 -m4/inttypes_h.m4 -m4/isc-posix.m4 -m4/lcmessage.m4 -m4/lib-ld.m4 -m4/lib-link.m4 -m4/lib-prefix.m4 -m4/libtool.m4 -m4/longdouble.m4 -m4/longlong.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -m4/nls.m4 -m4/po.m4 -m4/printf-posix.m4 -m4/progtest.m4 -m4/signed.m4 -m4/size_max.m4 -m4/stdint_h.m4 -m4/uintmax_t.m4 -m4/ulonglong.m4 -m4/wchar_t.m4 -m4/wint_t.m4 -m4/xsize.m4 -missing -mkinstalldirs -module.desktop -po/*.gmo -po/Makefile -po/Makefile.in -po/Makefile.in.in -po/Makevars.template -po/POTFILES -po/Rules-quot -po/boldquot.sed -po/en@boldquot.header -po/en@quot.header -po/insert-header.sin -po/places.pot -po/quot.sed -po/remove-potcdate.sed -po/remove-potcdate.sin -po/stamp-po -src/.deps/ -src/.libs/ -src/Makefile -src/Makefile.in -src/*.o -src/*.lo -src/*.la -stamp-h1 -compile - +build/ diff --git a/COPYING b/COPYING index 9690c3f..94a9ed0 100644 --- a/COPYING +++ b/COPYING @@ -1,32 +1,674 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies of the Software and its Copyright notices. In addition publicly -documented acknowledgment must be given that this software has been used if no -source code of this software is made available publicly. Making the source -available publicly means including the source for this software with the -distribution, or a method to get this software via some reasonable mechanism -(electronic transfer via a network or media) as well as making an offer to -supply the source on request. This Copyright notice serves as an offer to -supply the source on on request as well. Instead of this, supplying -acknowledgments of use of this software in either Copyright notices, Manuals, -Publicity and Marketing documents or any documentation provided with any -product containing this software. This License does not apply to any software -that links to the libraries provided by this software (statically or -dynamically), but only to the software provided. - -Please see the COPYING-PLAIN for a plain-english explanation of this notice -and its intent. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
[EGIT] [enlightenment/modules/extramenu] master 01/01: Extramenu: use new module_arch provided by E
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/extramenu.git/commit/?id=911bb3ccc773507164f32dee32919c92b8e1a60f commit 911bb3ccc773507164f32dee32919c92b8e1a60f Author: Dave Andreoli Date: Sat Apr 18 23:54:27 2020 +0200 Extramenu: use new module_arch provided by E --- meson.build | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/meson.build b/meson.build index 9a7d237..f7fa6e8 100644 --- a/meson.build +++ b/meson.build @@ -10,26 +10,12 @@ project('extramenu', 'c', dep_e = dependency('enlightenment') e_modules_dir = dep_e.get_pkgconfig_variable('modules') e_release = dep_e.get_pkgconfig_variable('release') - - - Host arch -host_os = host_machine.system() -if host_os == 'linux' - cc = meson.get_compiler('c') - if cc.has_header_symbol('features.h', '__UCLIBC__') - host_os = 'linux-uclibc' - elif cc.has_header_symbol('features.h', '__dietlibc__') - host_os = 'linux-dietlibc' - else - host_os = 'linux-gnu' - endif -endif -mod_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), e_release) +e_module_arch = dep_e.get_pkgconfig_variable('module_arch') Install dirs mod_install_dir = join_paths(e_modules_dir, meson.project_name()) -lib_install_dir = join_paths(mod_install_dir, mod_arch) +lib_install_dir = join_paths(mod_install_dir, e_module_arch) config.h --
[EGIT] [enlightenment/modules/penguins] master 01/01: Penguins: use new module_arch provided by E
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=1f0b49b6b037266f61bc800b679ef15bfacf594b commit 1f0b49b6b037266f61bc800b679ef15bfacf594b Author: Dave Andreoli Date: Sat Apr 18 23:52:17 2020 +0200 Penguins: use new module_arch provided by E --- meson.build | 19 +++ 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/meson.build b/meson.build index 0b9dbd6..796f734 100644 --- a/meson.build +++ b/meson.build @@ -12,26 +12,12 @@ gettext_domain = 'e-module-' + meson.project_name() dep_e = dependency('enlightenment') e_modules_dir = dep_e.get_pkgconfig_variable('modules') e_release = dep_e.get_pkgconfig_variable('release') - - - Host arch -host_os = host_machine.system() -if host_os == 'linux' - cc = meson.get_compiler('c') - if cc.has_header_symbol('features.h', '__UCLIBC__') - host_os = 'linux-uclibc' - elif cc.has_header_symbol('features.h', '__dietlibc__') - host_os = 'linux-dietlibc' - else - host_os = 'linux-gnu' - endif -endif -mod_arch = '@0@-@1@-@2@'.format(host_os, host_machine.cpu_family(), e_release) +e_module_arch = dep_e.get_pkgconfig_variable('module_arch') Install dirs mod_install_dir = join_paths(e_modules_dir, meson.project_name()) -lib_install_dir = join_paths(mod_install_dir, mod_arch) +lib_install_dir = join_paths(mod_install_dir, e_module_arch) config.h @@ -46,6 +32,7 @@ config_dir = include_directories('.') dep_intl = [] if get_option('nls') config_h.set('HAVE_GETTEXT', '1') + cc = meson.get_compiler('c') dep_intl = cc.find_library('intl', required : false) subdir('po') endif --
[EGIT] [enlightenment/modules/extramenu] master 01/01: Extramenu: switch to meson
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/extramenu.git/commit/?id=21806bfb94ba66cdbba8ff02179b8da9eece40e3 commit 21806bfb94ba66cdbba8ff02179b8da9eece40e3 Author: Dave Andreoli Date: Sat Apr 18 19:33:38 2020 +0200 Extramenu: switch to meson --- .gitignore | 34 +--- COPYING.LESSER | 165 Makefile.am | 25 -- autogen.sh | 15 m4/ac_attribute.m4 | 14 --- meson.build | 65 ++ module.desktop.in => module.desktop | 0 src/Makefile.am | 18 src/meson.build | 11 +++ 9 files changed, 77 insertions(+), 270 deletions(-) diff --git a/.gitignore b/.gitignore index 53762e5..567609b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,33 +1 @@ -Makefile -Makefile.in -aclocal.m4 -autom4te.cache/ -compile -config.guess -config.h -config.h.in -config.log -config.status -config.sub -configure -depcomp -e-module-extramenu.edj -install-sh -libtool -ltmain.sh -m4/libtool.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -missing -module.desktop -src/.deps/ -src/.libs/ -src/Makefile -src/Makefile.in -src/e_mod_main.lo -src/e_mod_main.o -src/module.la -stamp-h1 - +build/ diff --git a/COPYING.LESSER b/COPYING.LESSER deleted file mode 100644 index 1604322..000 --- a/COPYING.LESSER +++ /dev/null @@ -1,165 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use a
[EGIT] [enlightenment/modules/penguins] master 01/01: Penguins: switch to GPLv3
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=8aaac7de9289cff8898c8b88ec1776200972cb25 commit 8aaac7de9289cff8898c8b88ec1776200972cb25 Author: Dave Andreoli Date: Sat Apr 18 19:20:45 2020 +0200 Penguins: switch to GPLv3 --- COPYING | 704 +++--- COPYING-PLAIN | 33 --- meson.build | 5 +- 3 files changed, 675 insertions(+), 67 deletions(-) diff --git a/COPYING b/COPYING index 9690c3f..94a9ed0 100644 --- a/COPYING +++ b/COPYING @@ -1,32 +1,674 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to -deal in the Software without restriction, including without limitation the -rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies of the Software and its Copyright notices. In addition publicly -documented acknowledgment must be given that this software has been used if no -source code of this software is made available publicly. Making the source -available publicly means including the source for this software with the -distribution, or a method to get this software via some reasonable mechanism -(electronic transfer via a network or media) as well as making an offer to -supply the source on request. This Copyright notice serves as an offer to -supply the source on on request as well. Instead of this, supplying -acknowledgments of use of this software in either Copyright notices, Manuals, -Publicity and Marketing documents or any documentation provided with any -product containing this software. This License does not apply to any software -that links to the libraries provided by this software (statically or -dynamically), but only to the software provided. - -Please see the COPYING-PLAIN for a plain-english explanation of this notice -and its intent. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sa
[EGIT] [enlightenment/modules/penguins] master 01/01: Penguins: switch to meson build
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=9d800565c2018411bd790eb3294effdabaefdfdc commit 9d800565c2018411bd790eb3294effdabaefdfdc Author: Dave Andreoli Date: Sat Apr 18 19:11:34 2020 +0200 Penguins: switch to meson build --- .gitignore | 87 + INSTALL | 28 Makefile.am | 32 -- autogen.sh | 17 configure.ac| 75 e_modules-penguins.spec.in | 48 m4/.svnignore | 0 meson.build | 83 +++ meson_options.txt | 4 ++ module.desktop.in => module.desktop | 0 po/Makevars | 41 - po/{POTFILES.in => POTFILES}| 0 po/meson.build | 10 + src/Makefile.am | 23 -- src/e_mod_config.c | 1 - src/e_mod_main.c| 7 +-- src/e_mod_main.h| 7 ++- src/e_mod_penguins.c| 1 - src/meson.build | 13 ++ themes/Makefile.am | 2 - themes/default/Makefile.am | 21 - themes/default/meson.build | 15 +++ themes/lemmings/Makefile.am | 21 - themes/lemmings/meson.build | 15 +++ themes/meson.build | 4 ++ 25 files changed, 172 insertions(+), 383 deletions(-) diff --git a/.gitignore b/.gitignore index 674a169..567609b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,86 +1 @@ -*~ -*swo -*swp -ABOUT-NLS -Makefile -Makefile.in -aclocal.m4 -autom4te.cache/ -config.guess -config.h -config.h.in -config.log -config.rpath -config.status -config.sub -configure -compile -depcomp -e-module-penguins.edj -e_modules-penguins.spec -install-sh -libtool -ltmain.sh -themes/default/default.edj -themes/lemmings/lemmings.edj -m4/codeset.m4 -m4/gettext.m4 -m4/glibc21.m4 -m4/iconv.m4 -m4/intdiv0.m4 -m4/intmax.m4 -m4/inttypes-pri.m4 -m4/inttypes.m4 -m4/inttypes_h.m4 -m4/isc-posix.m4 -m4/lcmessage.m4 -m4/lib-ld.m4 -m4/lib-link.m4 -m4/lib-prefix.m4 -m4/libtool.m4 -m4/longdouble.m4 -m4/longlong.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -m4/nls.m4 -m4/po.m4 -m4/printf-posix.m4 -m4/progtest.m4 -m4/signed.m4 -m4/size_max.m4 -m4/stdint_h.m4 -m4/uintmax_t.m4 -m4/ulonglong.m4 -m4/wchar_t.m4 -m4/wint_t.m4 -m4/xsize.m4 -missing -mkinstalldirs -module.desktop -po/*.gmo -po/Makefile -po/Makefile.in -po/Makefile.in.in -po/Makevars.template -po/POTFILES -po/Rules-quot -po/boldquot.sed -po/en@boldquot.header -po/en@quot.header -po/insert-header.sin -po/penguins.pot -po/quot.sed -po/remove-potcdate.sed -po/remove-potcdate.sin -po/stamp-po -src/.deps/ -src/.libs/ -src/Makefile -src/Makefile.in -src/*.o -src/*.lo -src/*.la -stamp-h1 - +build/ diff --git a/INSTALL b/INSTALL index 8919fc2..fc64386 100644 --- a/INSTALL +++ b/INSTALL @@ -1,11 +1,23 @@ -COMPILING and INSTALLING: +To build using meson + +meson build +cd build +ninja +ninja install -If you got a official release tar archive do: -./autogen.sh - -Then to compile: -make -To install: -make install +Or without chdir + +meson build +ninja -C build +ninja -C build install + +Uninstall += +ninja -C build uninstall + + +Clean build +=== +rm -rf build/ diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index dc12ef5..000 --- a/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 -MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \ - config.sub configure depcomp install-sh ltmain.sh \ - missing module.desktop config.rpath mkinstalldirs - -SUBDIRS = src themes - -if HAVE_PO - -SUBDIRS += po - -endif - -EDJE_FLAGS = -v \ --id $(top_srcdir)/images - -filesdir = $(datadir) -files_DATA = module.desktop e-module-penguins.edj - -EXTRA_DIST = module.desktop.in \ -e_modules-penguins.spec.in \ -e-module-penguins.edc \ -$(wildcard images/*.png) - -%.edj: %.edc - $(EDJE_CC) $(EDJE_FLAGS) $< $@ - -clean-local: -rm -rf e-module-penguins.edj module.desktop e_modules-penguins.spec *~ - -uninstall: -rm -rf $(DESTDIR)$(datadir) diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index ae01364..000 --- a/autogen.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -rm -rf autom4te.cache -rm -f aclocal.m4 ltmain.sh - -touch README - -echo "Running autopoint..." ; autopoint -f || : -echo "Running aclocal..." ; aclocal -I m4 $ACLOCAL_FLAGS || exit 1 -echo "Running autoheader..." ; autoheader || exit 1 -echo "Run
[EGIT] [enlightenment/modules/places] master 01/01: Make coverity happy
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=65bd9f748bc53b41218dbac90b7900a2123f9d7b commit 65bd9f748bc53b41218dbac90b7900a2123f9d7b Author: Dave Andreoli Date: Sun May 12 21:52:13 2019 +0200 Make coverity happy --- src/e_mod_places.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/e_mod_places.c b/src/e_mod_places.c index b22935a..ce60a78 100644 --- a/src/e_mod_places.c +++ b/src/e_mod_places.c @@ -184,6 +184,9 @@ _places_volume_sort_cb(const void *d1, const void *d2) const Volume *v1 = d1; const Volume *v2 = d2; + if(!v1) return(1); + if(!v2) return(-1); + // removable after interal if (v1->removable && !v2->removable) return(1); if (v2->removable && !v1->removable) return(-1); @@ -191,8 +194,8 @@ _places_volume_sort_cb(const void *d1, const void *d2) if (v1->mount_point && !strcmp(v1->mount_point, "/")) return -1; if (v2->mount_point && !strcmp(v2->mount_point, "/")) return 1; // order by label - if(!v1 || !v1->label) return(1); - if(!v2 || !v2->label) return(-1); + if(!v1->label) return(1); + if(!v2->label) return(-1); return strcmp(v1->label, v2->label); } --
[EGIT] [bindings/python/python-efl] master 01/01: Open up 1.23 development
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=e2ce1b49a3685d74a4739be6951b09def158b5cc commit e2ce1b49a3685d74a4739be6951b09def158b5cc Author: Dave Andreoli Date: Fri Apr 26 11:30:26 2019 +0200 Open up 1.23 development --- CODING | 4 efl/__init__.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CODING b/CODING index 6a70e3e..1b48282 100644 --- a/CODING +++ b/CODING @@ -105,6 +105,10 @@ Release process instructions * Update the ChangeLog file: setup.py build_doc -b changes ...and manually merge from the html file * Git push and wait jenkins to generate the tarballs and the documentation + JENKIS IS DEAD :( these are the manual instructions: +* setup.py sdist --formats gztar,xztar +* (cd dist) sha256sum python-efl-1.9.0.tar.xz > python-efl-1.9.0.tar.xz.sha256 +* setup.py build_doc (check that inheritance graphs are there) * Test the generated tarballs * scp tarballs & md5sums to: download.enlightenment.org:/srv/web/download.enlightenment.org/public_html/pre-releases/ diff --git a/efl/__init__.py b/efl/__init__.py index 834da92..19897d3 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,5 +20,5 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.22.0" -__version_info__ = ( 1, 22, 0 ) +__version__ = "1.22.99" +__version_info__ = ( 1, 22, 99 ) --
[EGIT] [bindings/python/python-efl] master 01/01: Prepare 1.22 release
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8ff30f9eddd4bd5b89fae96ad090f964480e4179 commit 8ff30f9eddd4bd5b89fae96ad090f964480e4179 Author: Dave Andreoli Date: Tue Apr 23 09:18:32 2019 +0200 Prepare 1.22 release --- ChangeLog | 8 efl/__init__.py | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6a0892..caae1a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,12 @@ +=== +2019-04-23 v1.22.0 +=== + +Changes: + * Switched to Cython 0.29.7 for the tarball generation + + === 2018-08-24 v1.21.0 === diff --git a/efl/__init__.py b/efl/__init__.py index 6d93b1d..834da92 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,5 +20,5 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.21.99" -__version_info__ = ( 1, 21, 99 ) +__version__ = "1.22.0" +__version_info__ = ( 1, 22, 0 ) --
[EGIT] [bindings/python/python-efl] master 01/01: Follow Eo class name changes
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=d544412cd1f3f8c6ab0f8e35df0ae379778a15b7 commit d544412cd1f3f8c6ab0f8e35df0ae379778a15b7 Author: Dave Andreoli Date: Tue Apr 23 09:13:45 2019 +0200 Follow Eo class name changes --- efl/elementary/background.pxi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efl/elementary/background.pxi b/efl/elementary/background.pxi index 389ee5d..a3b6184 100644 --- a/efl/elementary/background.pxi +++ b/efl/elementary/background.pxi @@ -184,4 +184,4 @@ cdef class Background(LayoutClass): def load_size_set(self, w, h): elm_bg_load_size_set(self.obj, w, h) -_object_mapping_register("Efl.Ui.Bg_Widget_Legacy", Background) +_object_mapping_register("Efl.Ui.Bg_Legacy", Background) --
[EGIT] [bindings/python/python-efl] master 01/02: Fix for 1.22 Eo api changes
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4fa39916814ebe1ea7aee844d3cbd9f00f60 commit 4fa39916814ebe1ea7aee844d3cbd9f00f60 Author: Dave Andreoli Date: Tue Apr 23 08:54:13 2019 +0200 Fix for 1.22 Eo api changes --- efl/eo/efl.eo.pyx| 6 +++--- include/efl.c_eo.pxd | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx index 6985308..4875b8b 100644 --- a/efl/eo/efl.eo.pyx +++ b/efl/eo/efl.eo.pyx @@ -71,13 +71,13 @@ init() atexit.register(shutdown) def event_global_freeze_count_get(): -return efl_event_global_freeze_count_get(efl_object_class_get()) +return efl_event_global_freeze_count_get() def event_global_freeze(): -efl_event_global_freeze(efl_object_class_get()) +efl_event_global_freeze() def event_global_thaw(): -efl_event_global_thaw(efl_object_class_get()) +efl_event_global_thaw() ## diff --git a/include/efl.c_eo.pxd b/include/efl.c_eo.pxd index 37e536a..d8dd6e1 100644 --- a/include/efl.c_eo.pxd +++ b/include/efl.c_eo.pxd @@ -124,9 +124,9 @@ cdef extern from "Eo.h": void efl_event_thaw(Eo *obj) int efl_event_freeze_count_get(const Eo *obj) -void efl_event_global_freeze(Eo *obj) -void efl_event_global_thaw(Eo *obj) -int efl_event_global_freeze_count_get(const Eo *obj) +void efl_event_global_freeze() +void efl_event_global_thaw() +int efl_event_global_freeze_count_get() Eina_Bool efl_event_callback_add(Eo *obj, const Efl_Event_Description *desc, Efl_Event_Cb cb, const void *data) Eina_Bool efl_event_callback_del(Eo *obj, const Efl_Event_Description *desc, Efl_Event_Cb cb, const void *data) --
[EGIT] [bindings/python/python-efl] master 02/02: Silence Cython warnings
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=3b0552259dff8355a92fcb57f7ac3b56bc741dd7 commit 3b0552259dff8355a92fcb57f7ac3b56bc741dd7 Author: Dave Andreoli Date: Tue Apr 23 08:55:29 2019 +0200 Silence Cython warnings I'm keeping python 2 style for compatibility reasons --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 82dfe26..3ed0028 100755 --- a/setup.py +++ b/setup.py @@ -462,6 +462,7 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): #"c_string_encoding": "utf-8", "embedsignature": True, "binding": True, +"language_level": 2, }) --
[EGIT] [enlightenment/modules/edgar] master 01/01: Fix for recent gadget api changes
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=381121b45d18317646e014f0e50a442941cfc4e9 commit 381121b45d18317646e014f0e50a442941cfc4e9 Author: Dave Andreoli Date: Mon Oct 22 23:31:13 2018 +0200 Fix for recent gadget api changes Also use "new style" dialog done with ctxpopup --- src/e_mod_edgar.c | 211 ++ 1 file changed, 116 insertions(+), 95 deletions(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index a97338e..0ecac1d 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -477,6 +477,83 @@ edgar_theme_object_set(Edgar_Py_Gadget *gadget, Evas_Object *obj, const char *gr return EINA_FALSE; } +static void +edgar_show_gadget_info(Edgar_Py_Gadget *gadget) +{ + Evas_Object *popup, *table, *icon, *entry; + Eina_Strbuf *strbuf; + PyObject *attr; + + // build the text + strbuf = eina_strbuf_new(); + if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_name__"))) + { + eina_strbuf_append_printf(strbuf, "%s", +PyString_AsString(attr)); + Py_DECREF(attr); + } + if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_vers__"))) + { + eina_strbuf_append_printf(strbuf, " v%s", PyString_AsString(attr)); + Py_DECREF(attr); + } + if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_auth__"))) + { + eina_strbuf_append_printf(strbuf, "Author: %s", PyString_AsString(attr)); + Py_DECREF(attr); + } + if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_mail__"))) + { + eina_strbuf_append_printf(strbuf, "Contact: %s", PyString_AsString(attr)); + Py_DECREF(attr); + } + if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_desc__"))) + { + eina_strbuf_append_printf(strbuf, "%s", PyString_AsString(attr)); + Py_DECREF(attr); + } + + // popup + popup = elm_popup_add(e_comp->elm); + E_EXPAND(popup); + evas_object_layer_set(popup, E_LAYER_POPUP); + elm_popup_allow_events_set(popup, EINA_TRUE); + elm_popup_scrollable_set(popup, EINA_FALSE); + + table = elm_table_add(popup); + elm_table_padding_set(table, 10 * e_scale, 0); + E_EXPAND(table); + evas_object_show(table); + elm_object_content_set(popup, table); + + // icon + icon = edje_object_add(evas_object_evas_get(table)); + edgar_theme_object_set(gadget, icon, "icon"); + evas_object_size_hint_min_set(icon, 64 * e_scale, 64 * e_scale); + elm_table_pack(table, icon, 0, 0, 1, 1); + evas_object_show(icon); + + // text + entry = elm_entry_add(table); + elm_entry_editable_set(entry, EINA_FALSE); + elm_object_text_set(entry, eina_strbuf_string_get(strbuf)); + E_EXPAND(entry); E_FILL(entry); + elm_table_pack(table, entry, 1, 0, 1, 1); + evas_object_show(entry); + + // show the popup + E_Zone *zone = e_zone_current_get(); + popup = e_comp_object_util_add(popup, E_COMP_OBJECT_TYPE_NONE); + evas_object_layer_set(popup, E_LAYER_POPUP); + evas_object_move(popup, zone->x, zone->y); + evas_object_resize(popup, zone->w / 3, zone->h / 3); + e_comp_object_util_center(popup); + evas_object_show(popup); + e_comp_object_util_autoclose(popup, NULL, e_comp_object_util_autoclose_on_escape, NULL); + + eina_strbuf_free(strbuf); +} + /*/ /* Gadcon (old) Popup */ @@ -546,83 +623,7 @@ edgar_popup_new(Edgar_Py_Gadget *gadget, E_Gadcon_Client *gcc) static void edgar_menu_info_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - Edgar_Py_Gadget *gadget = data; - Evas_Object *hbox, *tb, *icon, *img; - Eina_Strbuf *strbuf; - Evas_Coord w, h; - PyObject *attr; - E_Dialog *dia; - - // build the text - strbuf = eina_strbuf_new(); - - if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_name__"))) - { - eina_strbuf_append_printf(strbuf, "%s", -PyString_AsString(attr)); - Py_DECREF(attr); - } - if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_vers__"))) - { - eina_strbuf_append_printf(strbuf, " v%s", PyString_AsString(attr)); - Py_DECREF(attr); - } - if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_auth__"))) - { - eina_strbuf_append_printf(strbuf, "Author: %s", PyString_AsString(attr)); - Py_DECREF(attr); - } - if ((attr = PyObject_GetAttrString(gadget->mod, "__gadget_mail__"))) - { - eina_strbuf_append_printf(strbuf, "Contact: %s", PyString_AsString(attr)); - Py_DECREF(attr); - } - if ((attr = PyObject_GetAttrString(gadget->mod, "__g
[EGIT] [bindings/python/python-efl] master 01/01: In development mode again
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=42ee207c166dba96ccb8ffdfb9cd035e573de80c commit 42ee207c166dba96ccb8ffdfb9cd035e573de80c Author: Dave Andreoli Date: Sun Aug 26 11:42:24 2018 +0200 In development mode again --- CODING | 29 + efl/__init__.py | 4 ++-- 2 files changed, 3 insertions(+), 30 deletions(-) diff --git a/CODING b/CODING index 8cbcc51..6a70e3e 100644 --- a/CODING +++ b/CODING @@ -105,7 +105,6 @@ Release process instructions * Update the ChangeLog file: setup.py build_doc -b changes ...and manually merge from the html file * Git push and wait jenkins to generate the tarballs and the documentation -* HACK: Use cython 23.5 to generate the source and the tarball on your pc !! see T5589 * Test the generated tarballs * scp tarballs & md5sums to: download.enlightenment.org:/srv/web/download.enlightenment.org/public_html/pre-releases/ @@ -136,31 +135,5 @@ Release process instructions more info at: phab.enlightenment.org/w/release_procedure/ +phab.enlightenment.org/w/hosting/ssh/ - -Discussion -== - -* Internal utility functions used in the bindings must start with an - underscore and must have the shortest name as possible. - ^ - This needs further discussion/expansion. - - When we define a function with cdef it is not exposed to Python API. - This should be explicit enough to not need the underscore prefix, which - at best looks ugly, and at worst just plain confusing. - - A function name should summarize its functionality in one clear text, - short sentence. We have both too long and too short names. And I admit to - being guilty of adding many of both. - - Let's build up a short review so we can see where we stand with this and - make necessary corrections. - - / kuuko - - - The underscore usage is a coding standard in all the EFL, we should try - to follow the efl style also here (where is possible and make sense) - - / davemds diff --git a/efl/__init__.py b/efl/__init__.py index 9c594b1..6d93b1d 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,5 +20,5 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.21.0" -__version_info__ = ( 1, 21, 0 ) +__version__ = "1.21.99" +__version_info__ = ( 1, 21, 99 ) --
[EGIT] [bindings/python/python-efl] master 02/02: Try to fix tests on jenkins
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=c9f5b53e281834ad1f531f63e2743c0b4bc36e82 commit c9f5b53e281834ad1f531f63e2743c0b4bc36e82 Author: Dave Andreoli Date: Thu Aug 23 19:56:04 2018 +0200 Try to fix tests on jenkins Seems this test do not have enough time, lets try with an higher timeout --- tests/ecore/test_08_exe.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ecore/test_08_exe.py b/tests/ecore/test_08_exe.py index 567dfa9..69ec75b 100644 --- a/tests/ecore/test_08_exe.py +++ b/tests/ecore/test_08_exe.py @@ -34,7 +34,7 @@ class TestExeSubprocess(unittest.TestCase): exe.on_del_event_add(self.on_exe_del) # start ml with a 5 secs timeout -t = ecore.timer_add(5, ecore.main_loop_quit) +t = ecore.timer_add(15, ecore.main_loop_quit) ecore.main_loop_begin() t.delete() --
[EGIT] [bindings/python/python-efl] master 01/02: Remove Systray leftovers
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8cc259ca26e67a91ab0d18cadc5044282bd8b987 commit 8cc259ca26e67a91ab0d18cadc5044282bd8b987 Author: Dave Andreoli Date: Thu Aug 23 19:55:46 2018 +0200 Remove Systray leftovers --- doc/elementary/elementary.rst | 1 - doc/elementary/systray.rst| 57 --- 2 files changed, 58 deletions(-) diff --git a/doc/elementary/elementary.rst b/doc/elementary/elementary.rst index 2f2c987..55e6733 100644 --- a/doc/elementary/elementary.rst +++ b/doc/elementary/elementary.rst @@ -469,7 +469,6 @@ Inheritance diagram efl.elementary.Slider efl.elementary.Slideshow efl.elementary.Spinner -efl.elementary.Systray efl.elementary.Table efl.elementary.Theme efl.elementary.Thumb diff --git a/doc/elementary/systray.rst b/doc/elementary/systray.rst deleted file mode 100644 index 50e7304..000 --- a/doc/elementary/systray.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. currentmodule:: efl.elementary - -Systray -### - -Enumerations - - -.. _Elm_Systray_Category: - -Category of the Status Notifier Item. -- - -.. data:: ELM_SYSTRAY_CATEGORY_APP_STATUS - -Indicators of application status - -.. data:: ELM_SYSTRAY_CATEGORY_COMMUNICATIONS - -Communications apps - -.. data:: ELM_SYSTRAY_CATEGORY_SYS_SERVICES - -System Service apps - -.. data:: ELM_SYSTRAY_CATEGORY_HARDWARE - -Hardware indicators - -.. data:: ELM_SYSTRAY_CATEGORY_OTHER - -Undefined category - - -.. _Elm_Systray_Status: - -Application status information. - -.. data:: ELM_SYSTRAY_STATUS_PASSIVE - -Passive (normal) - -.. data:: ELM_SYSTRAY_STATUS_ACTIVE - -Active - -.. data:: ELM_SYSTRAY_STATUS_ATTENTION - -Needs Attention - - - -.. autoclass:: Systray -.. autofunction:: on_systray_ready - -.. autoclass:: EventSystrayReady --
[EGIT] [bindings/python/python-efl] master 01/01: Prepare the 1.21 release
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=d25784cca89cb526d3d8f95c14ebf4416010d04c commit d25784cca89cb526d3d8f95c14ebf4416010d04c Author: Dave Andreoli Date: Thu Aug 23 19:07:46 2018 +0200 Prepare the 1.21 release --- ChangeLog | 21 - efl/__init__.py | 4 ++-- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4d4f126..f6a0892 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,26 @@ === --XX-XX v1.21.0 +2018-08-24 v1.21.0 === BREAKS: * systray.pxi do not work anymore as the widget has been removed from efl. - (commented in efl/elementary/__init__.pyx) - TODO FIXME... we still need to decide what to do with this breakage, - maybe an empty api with just a break notice? in this way apps using - systray will still run (not crash) +The widget has been completly removed and the function elm_need_systray +now always return False that means systray is not available. +Apologies for the inconvenient. +Changes: + * Switched to Cython 0.28.4 for the tarball generation, should fix build + issues with python3.7 + +Additions: + * ecore.ECORE_EXE_ISOLATE_IO + * edje.part_text_prediction_hint_hash_del + * edje.part_text_prediction_hint_hash_set + * elm.Entry.prediction_hint_hash_del + * elm.Entry.prediction_hint_hash_set + * elm.Ctxpopup.item_insert_after + * elm.Ctxpopup.item_insert_before === diff --git a/efl/__init__.py b/efl/__init__.py index 26528a4..9c594b1 100644 --- a/efl/__init__.py +++ b/efl/__init__.py @@ -20,5 +20,5 @@ # pre-release: "1.13.0-beta1" ( 1, 13, 0 ) # release: "1.13.0" ( 1, 13, 0 ) -__version__ = "1.20.99" -__version_info__ = ( 1, 20, 99 ) +__version__ = "1.21.0" +__version_info__ = ( 1, 21, 0 ) --
[EGIT] [bindings/python/python-efl] master 01/01: Say goodbye to the Systray widget
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=7c555cc9da2a69c4da2f313313f348c936fcaf95 commit 7c555cc9da2a69c4da2f313313f348c936fcaf95 Author: Dave Andreoli Date: Wed Aug 22 21:01:20 2018 +0200 Say goodbye to the Systray widget This is a really bad break !!! ... shame on us to have used an efl beta api :( --- efl/elementary/__init__.py | 1 - efl/elementary/__init__.pyx | 15 --- efl/elementary/general.py | 1 - efl/elementary/need.pxi | 23 +--- efl/elementary/systray.pxi | 218 efl/elementary/systray.py | 13 --- efl/elementary/systray_cdef.pxi | 25 - examples/elementary/test.py | 1 - examples/elementary/test_systray.py | 38 --- include/efl.elementary.enums.pxd| 16 --- 10 files changed, 5 insertions(+), 346 deletions(-) diff --git a/efl/elementary/__init__.py b/efl/elementary/__init__.py index 2ec3931..15711cd 100644 --- a/efl/elementary/__init__.py +++ b/efl/elementary/__init__.py @@ -78,7 +78,6 @@ __all__ = ( "slideshow", "spinner", #"store", -"systray", "table", "theme", "thumb", diff --git a/efl/elementary/__init__.pyx b/efl/elementary/__init__.pyx index e573812..d0278b9 100644 --- a/efl/elementary/__init__.pyx +++ b/efl/elementary/__init__.pyx @@ -59,8 +59,6 @@ ELM_EVENT_PROCESS_FOREGROUND = enums.ELM_EVENT_PROCESS_FOREGROUND ELM_ECORE_EVENT_ETHUMB_CONNECT = enums.ELM_ECORE_EVENT_ETHUMB_CONNECT ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED = enums.ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED = enums.ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED -ELM_EVENT_SYSTRAY_READY = enums.ELM_EVENT_SYSTRAY_READY - ELM_FOCUS_PREVIOUS = enums.ELM_FOCUS_PREVIOUS ELM_FOCUS_NEXT = enums.ELM_FOCUS_NEXT @@ -516,18 +514,6 @@ ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS = enums.ELM_SLIDER_INDICATOR_VISIBLE_MO ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS = enums.ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE = enums.ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE -ELM_EVENT_SYSTRAY_READY = enums.ELM_EVENT_SYSTRAY_READY - -ELM_SYSTRAY_CATEGORY_APP_STATUS = enums.ELM_SYSTRAY_CATEGORY_APP_STATUS -ELM_SYSTRAY_CATEGORY_COMMUNICATIONS = enums.ELM_SYSTRAY_CATEGORY_COMMUNICATIONS -ELM_SYSTRAY_CATEGORY_SYS_SERVICES = enums.ELM_SYSTRAY_CATEGORY_SYS_SERVICES -ELM_SYSTRAY_CATEGORY_HARDWARE = enums.ELM_SYSTRAY_CATEGORY_HARDWARE -ELM_SYSTRAY_CATEGORY_OTHER = enums.ELM_SYSTRAY_CATEGORY_OTHER - -ELM_SYSTRAY_STATUS_PASSIVE = enums.ELM_SYSTRAY_STATUS_PASSIVE -ELM_SYSTRAY_STATUS_ACTIVE = enums.ELM_SYSTRAY_STATUS_ACTIVE -ELM_SYSTRAY_STATUS_ATTENTION = enums.ELM_SYSTRAY_STATUS_ATTENTION - ELM_THUMB_ANIMATION_START = enums.ELM_THUMB_ANIMATION_START ELM_THUMB_ANIMATION_LOOP = enums.ELM_THUMB_ANIMATION_LOOP ELM_THUMB_ANIMATION_STOP = enums.ELM_THUMB_ANIMATION_STOP @@ -1285,7 +1271,6 @@ include "slider.pxi" include "slideshow.pxi" include "spinner.pxi" #include "store.pxi" -# include "systray.pxi" include "table.pxi" include "theme.pxi" include "thumb.pxi" diff --git a/efl/elementary/general.py b/efl/elementary/general.py index a76111a..3fbcd4b 100644 --- a/efl/elementary/general.py +++ b/efl/elementary/general.py @@ -14,7 +14,6 @@ from . import ELM_EVENT_PROCESS_BACKGROUND from . import ELM_EVENT_PROCESS_FOREGROUND from . import ELM_EVENT_SYS_NOTIFY_NOTIFICATION_CLOSED from . import ELM_EVENT_SYS_NOTIFY_ACTION_INVOKED -from . import ELM_EVENT_SYSTRAY_READY from . import ELM_OBJECT_LAYER_BACKGROUND from . import ELM_OBJECT_LAYER_DEFAULT diff --git a/efl/elementary/need.pxi b/efl/elementary/need.pxi index 285a448..2f7829a 100644 --- a/efl/elementary/need.pxi +++ b/efl/elementary/need.pxi @@ -89,13 +89,6 @@ cdef class EthumbConnect(Event): def __repr__(self): return "<%s()>" % (self.__class__.__name__,) -cdef class EventSystrayReady(Event): -cdef int _set_obj(self, void *o) except 0: -return 1 - -def __repr__(self): -return "<%s()>" % (self.__class__.__name__,) - def need_efreet(): """Request that your elementary application needs Efreet @@ -113,23 +106,17 @@ def need_efreet(): def need_systray(): """Request that your elementary application needs Elm_Systray -This initializes the Elm_Systray when called and, if support exists, -returns True, otherwise returns False. This must be called -before any elm_systray calls. +WARNING: elm is no more capable of systray functionality -:return: True if support exists and initialization succeeded. +:return: always return False :rtype: bool .. versionadded:: 1.8 +.. ve
[EGIT] [bindings/python/python-efl] master 01/01: Disable a failing test
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=3e198f7294ab48dea2b2759da9b5cf372eade60c commit 3e198f7294ab48dea2b2759da9b5cf372eade60c Author: Dave Andreoli Date: Tue Aug 21 20:08:23 2018 +0200 Disable a failing test This is failing only when used in the full suite (00_run_all_tests) it works normally if launched directly, so I think it's just a test suite issue --- tests/ecore/test_10_file_monitor.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/ecore/test_10_file_monitor.py b/tests/ecore/test_10_file_monitor.py index f4e528a..4e6eeda 100644 --- a/tests/ecore/test_10_file_monitor.py +++ b/tests/ecore/test_10_file_monitor.py @@ -8,6 +8,7 @@ import os from efl import ecore +@unittest.skip("double-free when run from 00_run_all_tests, works good otherwise") class TestFileMonitor(unittest.TestCase): def monitor_cb(self, event, path, tmp_path): @@ -59,7 +60,7 @@ class TestFileMonitor(unittest.TestCase): os.remove(file1) os.remove(file2) -# this should trigger one ECORE_FILE_EVENT_DELETED_SELF !!! we get two +# this should trigger one ECORE_FILE_EVENT_DELETED_SELF os.rmdir(tmp_path) return ecore.ECORE_CALLBACK_CANCEL --
[EGIT] [bindings/python/python-efl] master 01/01: This test now work as expected
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=b855a82160875be271f5544bc2877d8f1c95a1e8 commit b855a82160875be271f5544bc2877d8f1c95a1e8 Author: Dave Andreoli Date: Fri Aug 17 11:02:15 2018 +0200 This test now work as expected --- tests/ecore/test_10_file_monitor.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/ecore/test_10_file_monitor.py b/tests/ecore/test_10_file_monitor.py index e147da0..f4e528a 100644 --- a/tests/ecore/test_10_file_monitor.py +++ b/tests/ecore/test_10_file_monitor.py @@ -80,9 +80,7 @@ class TestFileMonitor(unittest.TestCase): self.assertEqual(fm.path, path) fm.delete() -# FIXME: we receive two ECORE_FILE_EVENT_DELETED_SELF, it's wrong -# should be [0, 2, 2, 2, 2, 1, 2, 2] -self.assertEqual(self.counters, [0, 2, 2, 2, 2, 2, 2, 2]) +self.assertEqual(self.counters, [0, 2, 2, 2, 2, 1, 2, 2]) if __name__ == '__main__': --
[EGIT] [bindings/python/python-efl] master 01/01: Setup warnings--
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=583f42b1312a6dd0b7adc1201ea5a13f2b3e8275 commit 583f42b1312a6dd0b7adc1201ea5a13f2b3e8275 Author: Dave Andreoli Date: Fri Aug 17 10:52:42 2018 +0200 Setup warnings-- --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index 885acd6..82dfe26 100755 --- a/setup.py +++ b/setup.py @@ -211,6 +211,8 @@ ext_modules = [] py_modules = [] packages = ["efl"] common_cflags = [ +"-fno-var-tracking-assignments", # seems to lower the mem used during build +"-Wno-misleading-indentation", # not needed (we don't indent the C code) "-Wno-deprecated-declarations", # we bind deprecated functions "-Wno-unused-variable", # eo_instance_from_object() is unused "-Wno-format-security", # some cc don't like the way cython use EINA_LOG macros --
[EGIT] [bindings/python/python-efl] master 01/01: Fix elm.Image.file.__get__
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=2991a6683efd743d024f4afaf8c5ad6db018a758 commit 2991a6683efd743d024f4afaf8c5ad6db018a758 Author: Dave Andreoli Date: Fri Aug 17 10:46:00 2018 +0200 Fix elm.Image.file.__get__ This is to hide a behaviour changes in elm, quite a corner case, but spotted by our tests. If you do a file_get before a file_set, elm is nomore nullifying the pointers, thus we try to ctouni our garbage. Just initialize well our vars --- efl/elementary/image.pxi | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/efl/elementary/image.pxi b/efl/elementary/image.pxi index 0e75ae0..d03e982 100644 --- a/efl/elementary/image.pxi +++ b/efl/elementary/image.pxi @@ -125,8 +125,8 @@ cdef class Image(Object): def __get__(self): cdef: -const char *filename -const char *group +const char *filename = NULL +const char *group = NULL elm_image_file_get(self.obj, &filename, &group) return (_ctouni(filename), _ctouni(group)) @@ -140,8 +140,8 @@ cdef class Image(Object): raise RuntimeError("Could not set file.") def file_get(self): cdef: -const char *filename -const char *group +const char *filename = NULL +const char *group = NULL elm_image_file_get(self.obj, &filename, &group) return (_ctouni(filename), _ctouni(group)) --
[EGIT] [enlightenment/modules/edgar] master 01/01: Netspeed gadget: whooops, fix to build again.
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=eda7aef670fbd45bfc61a8ce566d4b2cd6abf99f commit eda7aef670fbd45bfc61a8ce566d4b2cd6abf99f Author: Dave Andreoli Date: Wed Aug 15 08:27:50 2018 +0200 Netspeed gadget: whooops, fix to build again. It was broken since last commit ... sorry :( --- GADGETS/netspeed/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/GADGETS/netspeed/__init__.py b/GADGETS/netspeed/__init__.py index 3b28919..efad6d2 100644 --- a/GADGETS/netspeed/__init__.py +++ b/GADGETS/netspeed/__init__.py @@ -78,6 +78,7 @@ class Gadget(e.Gadget): def popup_destroyed(self, obj): # DBG("popup_destroyed (insts: %d popups:%d)" % (len(self._instances), len(self._popups))) +pass def popup_update(self, popup): popup.data['in_label'].text = 'Recv: %.2f KB/s' % self.kb_in --
[EGIT] [bindings/python/python-efl] master 01/02: New 1.21 API: edje.Object.part_text_prediction_hint_hash_set/del
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=48d9c26945e918ef5c2f45b8971ae6b1d262dba4 commit 48d9c26945e918ef5c2f45b8971ae6b1d262dba4 Author: Dave Andreoli Date: Sun Jul 22 08:04:09 2018 +0200 New 1.21 API: edje.Object.part_text_prediction_hint_hash_set/del --- efl/edje/efl.edje_object.pxi | 45 include/efl.edje.pxd | 2 ++ 2 files changed, 47 insertions(+) diff --git a/efl/edje/efl.edje_object.pxi b/efl/edje/efl.edje_object.pxi index 29354ce..4c98986 100644 --- a/efl/edje/efl.edje_object.pxi +++ b/efl/edje/efl.edje_object.pxi @@ -786,6 +786,51 @@ cdef class Edje(Object): part if part is not None else NULL, hint if hint is not None else NULL) +def part_text_prediction_hint_hash_set(self, part, key, value): +"""Sets the prediction hint data at the specified key + +:param part: the part name +:type part: str + +:param key: the key of the prediction hint +:type key: str + +:param value: the data to replace +:type value: str + +:return bool: `True` on success, `False` otherwise + +.. versionadded:: 1.21 + +""" +if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part) +if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key) +if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value) +edje_object_part_text_prediction_hint_hash_set(self.obj, +part if part is not None else NULL, +key if key is not None else NULL, +value if value is not None else NULL) + +def part_text_prediction_hint_hash_del(self, part, key): +"""Removes the prediction hint data identified by a key + +:param part: the part name +:type part: str + +:param key: the key of the prediction hint +:type key: str + +:return bool: `True` on success, `False` otherwise + +.. versionadded:: 1.21 + +""" +if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part) +if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key) +edje_object_part_text_prediction_hint_hash_del(self.obj, +part if part is not None else NULL, +key if key is not None else NULL) + def part_swallow(self, part, Object obj): """Swallows an object into the edje diff --git a/include/efl.edje.pxd b/include/efl.edje.pxd index 14862c8..d99e879 100644 --- a/include/efl.edje.pxd +++ b/include/efl.edje.pxd @@ -256,6 +256,8 @@ cdef extern from "Edje.h": Edje_Input_Hints edje_object_part_text_input_hint_get(Evas_Object *obj, char *part) void edje_object_part_text_prediction_hint_set(Evas_Object *obj, char *part, const char *prediction_hint) +Eina_Bool edje_object_part_text_prediction_hint_hash_set(Evas_Object *obj, const char *part, const char *key, const char *value) +Eina_Bool edje_object_part_text_prediction_hint_hash_del(Evas_Object *obj, const char *part, const char *key) void edje_object_part_swallow(Evas_Object *obj, char *part, Evas_Object *obj_swallow) void edje_object_part_unswallow(Evas_Object *obj, Evas_Object *obj_swallow) --
[EGIT] [bindings/python/python-efl] master 02/02: Ctxpopup: add slow test with many items
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=fb9b06931e06278c1d63e562c72cc79e9a8fa2a6 commit fb9b06931e06278c1d63e562c72cc79e9a8fa2a6 Author: Dave Andreoli Date: Sun Jul 22 08:14:12 2018 +0200 Ctxpopup: add slow test with many items just to replicate the C example --- examples/elementary/test_ctxpopup.py | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/examples/elementary/test_ctxpopup.py b/examples/elementary/test_ctxpopup.py index b6aa8d2..624d6bd 100644 --- a/examples/elementary/test_ctxpopup.py +++ b/examples/elementary/test_ctxpopup.py @@ -59,7 +59,7 @@ def cb_item1(li, item): it = item_new(cp, "Navigate to folder", "folder") it.disabled = True it = item_new(cp, "Edit entry", "document-edit") -it = item_new(cp, "Sate date and time", "list-remove") +it = item_new(cp, "Set date and time", "list-remove") it.disabled = True ic = Icon(cp, standard="list-add", resizable=(False,False)) @@ -175,6 +175,16 @@ def cb_item6(li, item): cp.show() bt.data["ctxpopup"] = cp +def cb_item11(li, item): +cp = Ctxpopup(li) +cp.callback_geometry_update_add(cb_geometry_update) +for i in range(100): +item_new(cp, "Item #%d" % i, "clock") + +x, y = li.evas.pointer_canvas_xy_get() +cp.move(x, y) +cp.show() + def ctxpopup_clicked(obj): win = StandardWindow("ctxpopup", "Context popup test", autodel=True, size=(400,400)) @@ -191,6 +201,7 @@ def ctxpopup_clicked(obj): li.item_append("Ctxpopup at horizontal mode", callback=cb_item4) li.item_append("Ctxpopup with user content", callback=cb_item5) li.item_append("Ctxpopup with restacking", callback=cb_item6) +li.item_append("Ctxpopup with more items", callback=cb_item11) li.go() win.show() --
[EGIT] [bindings/python/python-efl] master 01/01: New 1.21 API: elm.Entry.prediction_hint_hash_set/del
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4721842b1e7e89bafbc1a82e591547e1dc81d3b6 commit 4721842b1e7e89bafbc1a82e591547e1dc81d3b6 Author: Dave Andreoli Date: Sun Jul 22 07:51:16 2018 +0200 New 1.21 API: elm.Entry.prediction_hint_hash_set/del --- efl/elementary/entry.pxi | 34 ++ efl/elementary/entry_cdef.pxi | 2 ++ 2 files changed, 36 insertions(+) diff --git a/efl/elementary/entry.pxi b/efl/elementary/entry.pxi index 155d4c3..e05261b 100644 --- a/efl/elementary/entry.pxi +++ b/efl/elementary/entry.pxi @@ -1490,6 +1490,40 @@ cdef class Entry(LayoutClass): elm_entry_prediction_hint_set(self.obj, string if string is not None else NULL) +def prediction_hint_hash_set(self, key, value): +"""Sets the prediction hint data at the specified key. + +:param key: The key of the prediction hint +:type key: string +:param value: The data to replace +:type value: string + +:return bool: `True` on success, `False` otherwise + +.. versionadded:: 1.21 + +""" +if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key) +if isinstance(value, unicode): value = PyUnicode_AsUTF8String(value) +return bool(elm_entry_prediction_hint_hash_set(self.obj, +key if key is not None else NULL, +value if value is not None else NULL)) + +def prediction_hint_hash_del(self, key): +"""Removes the prediction hint data identified by a key. + +:param key: The key of the prediction hint +:type key: string + +:return bool: `True` on success, `False` otherwise + +.. versionadded:: 1.21 + +""" +if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key) +return bool(elm_entry_prediction_hint_hash_del(self.obj, +key if key is not None else NULL)) + # TODO: # def filter_limit_size(self, data, text): # """Filter inserted text based on user defined character and byte limits diff --git a/efl/elementary/entry_cdef.pxi b/efl/elementary/entry_cdef.pxi index 7cda8be..f20295c 100644 --- a/efl/elementary/entry_cdef.pxi +++ b/efl/elementary/entry_cdef.pxi @@ -131,6 +131,8 @@ cdef extern from "Elementary.h": voidelm_entry_prediction_allow_set(Evas_Object *obj, Eina_Bool allow) Eina_Bool elm_entry_prediction_allow_get(const Evas_Object *obj) voidelm_entry_prediction_hint_set(Evas_Object *obj, const char *prediction_hint) +Eina_Bool elm_entry_prediction_hint_hash_set(Evas_Object *obj, const char *key, const char *value) +Eina_Bool elm_entry_prediction_hint_hash_del(Evas_Object *obj, const char *key) # TODO: voidelm_entry_filter_limit_size(void *data, Evas_Object *entry, char **text) # TODO: voidelm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text) # TODO: void *elm_entry_imf_context_get(const Evas_Object *obj) --
[EGIT] [bindings/python/python-efl] master 01/01: New 1.21 API: Ecore_Exe_Flags.ECORE_EXE_ISOLATE_IO
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=6aa35011362985ad782217162007fed227ee4df5 commit 6aa35011362985ad782217162007fed227ee4df5 Author: Dave Andreoli Date: Mon Jul 16 20:16:16 2018 +0200 New 1.21 API: Ecore_Exe_Flags.ECORE_EXE_ISOLATE_IO just a new enum value --- efl/ecore/efl.ecore_exe.pxi | 10 ++ include/efl.ecore.enums.pxd | 1 + 2 files changed, 11 insertions(+) diff --git a/efl/ecore/efl.ecore_exe.pxi b/efl/ecore/efl.ecore_exe.pxi index 1ebaa86..df472da 100644 --- a/efl/ecore/efl.ecore_exe.pxi +++ b/efl/ecore/efl.ecore_exe.pxi @@ -45,6 +45,8 @@ cdef exe_flags2str(int value): flags.append("NOT_LEADER") if value & enums.ECORE_EXE_TERM_WITH_PARENT: flags.append("ECORE_EXE_TERM_WITH_PARENT") +if value & enums.ECORE_EXE_ISOLATE_IO: +flags.append("ECORE_EXE_ISOLATE_IO") return ", ".join(flags) @@ -303,6 +305,10 @@ cdef class Exe(object): ECORE_EXE_TERM_WITH_PARENT Makes child receive SIGTERM when parent dies +ECORE_EXE_ISOLATE_IO +Try and isolate stdin/out and err of the process so it isn't +shared with the parent. Since 1.21 + :type flags: int :param data: extra data to be associated and available with ``data_get()`` @@ -552,6 +558,10 @@ cdef class Exe(object): - ECORE_EXE_USE_SH: Use /bin/sh to run the command. - ECORE_EXE_NOT_LEADER Do not use setsid() to have the executed process be its own session leader + - ECORE_EXE_TERM_WITH_PARENT Makes child receive SIGTERM when + parent dies + - ECORE_EXE_ISOLATE_IO Try and isolate stdin/out and err of the + process so it isn't shared with the parent :return: set of masks, ORed. diff --git a/include/efl.ecore.enums.pxd b/include/efl.ecore.enums.pxd index 1c0e4a5..3f4c04e 100644 --- a/include/efl.ecore.enums.pxd +++ b/include/efl.ecore.enums.pxd @@ -50,6 +50,7 @@ cdef extern from "Ecore.h": ECORE_EXE_USE_SH ECORE_EXE_NOT_LEADER ECORE_EXE_TERM_WITH_PARENT +ECORE_EXE_ISOLATE_IO ctypedef enum Ecore_Pos_Map: ECORE_POS_MAP_LINEAR --
[EGIT] [bindings/python/python-efl] master 01/01: New 1.21 API: Ctxpopup item_insert_before/after
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=18ca98e66f9e9bec7a0048d44310f016ab2ee76c commit 18ca98e66f9e9bec7a0048d44310f016ab2ee76c Author: Dave Andreoli Date: Mon Jul 16 20:00:50 2018 +0200 New 1.21 API: Ctxpopup item_insert_before/after with test --- efl/elementary/ctxpopup.pxi | 81 efl/elementary/ctxpopup_cdef.pxi | 2 + examples/elementary/test_ctxpopup.py | 12 -- 3 files changed, 92 insertions(+), 3 deletions(-) diff --git a/efl/elementary/ctxpopup.pxi b/efl/elementary/ctxpopup.pxi index 30d1495..1de93f7 100644 --- a/efl/elementary/ctxpopup.pxi +++ b/efl/elementary/ctxpopup.pxi @@ -142,6 +142,7 @@ cdef class CtxpopupItem(ObjectItem): def __get__(self): return _object_item_to_python(elm_ctxpopup_item_next_get(self.item)) + cdef class Ctxpopup(LayoutClass): """ @@ -234,6 +235,86 @@ cdef class Ctxpopup(LayoutClass): else: return None +def item_insert_before(self, CtxpopupItem before, label, evasObject icon=None, + func=None, *args, **kwargs): +"""Add a new item to the list before the indicated item + +:param CtxpopupItem before: The item before which to add it +:param string label: The label of new item +:param evasObject icon: The icon of new item +:param func: The callback function to be invoked when this item is selected. +:param \*args: The data to be attached for callback +:param \*\*kwargs: The data to be attached for callback +:return: :class:`CtxpopupItem` + +.. versionadded:: 1.21 + +""" +cdef: +Elm_Object_Item *item +Evas_Smart_Cb cb = NULL +CtxpopupItem ret = CtxpopupItem.__new__(CtxpopupItem) + +if func is not None and callable(func): +cb = _object_item_callback + +if isinstance(label, unicode): label = PyUnicode_AsUTF8String(label) + +item = elm_ctxpopup_item_insert_before(self.obj, +before.item if before is not None else NULL, +label if label is not None else NULL, +icon.obj if icon is not None else NULL, +cb, ret) + +if item != NULL: +ret._set_obj(item) +ret.cb_func = func +ret.args = args +ret.kwargs = kwargs +return ret +else: +return None + +def item_insert_after(self, CtxpopupItem after, label, evasObject icon=None, + func=None, *args, **kwargs): +"""Add a new item to the list after the indicated item + +:param CtxpopupItem after: The item after which to add it +:param string label: The label of new item +:param evasObject icon: The icon of new item +:param func: The callback function to be invoked when this item is selected. +:param \*args: The data to be attached for callback +:param \*\*kwargs: The data to be attached for callback +:return: :class:`CtxpopupItem` + +.. versionadded:: 1.21 + +""" +cdef: +Elm_Object_Item *item +Evas_Smart_Cb cb = NULL +CtxpopupItem ret = CtxpopupItem.__new__(CtxpopupItem) + +if func is not None and callable(func): +cb = _object_item_callback + +if isinstance(label, unicode): label = PyUnicode_AsUTF8String(label) + +item = elm_ctxpopup_item_insert_after(self.obj, +after.item if after is not None else NULL, +label if label is not None else NULL, +icon.obj if icon is not None else NULL, +cb, ret) + +if item != NULL: +ret._set_obj(item) +ret.cb_func = func +ret.args = args +ret.kwargs = kwargs +return ret +else: +return None + def item_prepend(self, label, evasObject icon=None, func=None, *args, **kwargs): """A constructor for a :py:class:`CtxpopupItem`. diff --git a/efl/elementary/ctxpopup_cdef.pxi b/efl/elementary/ctxpopup_cdef.pxi index bf8916e..65a2f51 100644 --- a/efl/elementary/ctxpopup_cdef.pxi +++ b/efl/elementary/ctxpopup_cdef.pxi @@ -20,3 +20,5 @@ cdef extern from "Elementary.h": Elm_Object_Item *elm_ctxpopup_last_item_get(const Evas_Object *obj) Elm_Object_Item *elm_ctxpopup_item_prev_get(const Elm_Object_Item *it) Elm_Object_Item *elm_ctxpopup_item_next_get(const Elm_Object_Item *it) +Elm_Object_Item *elm_ctxpopup_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data) +Elm_Object_Item *elm_ctxpopup_item_insert_after(E
[EGIT] [bindings/python/python-efl] master 01/01: Fix 2 changed class names
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=006052543f3863fb0e4975476d0bc03e06099279 commit 006052543f3863fb0e4975476d0bc03e06099279 Author: Dave Andreoli Date: Sun Jul 15 08:15:44 2018 +0200 Fix 2 changed class names #FollowTheWhiteRabbit --- efl/elementary/multibuttonentry.pxi | 2 +- efl/elementary/slider.pxi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/efl/elementary/multibuttonentry.pxi b/efl/elementary/multibuttonentry.pxi index a6c528c..85dde07 100644 --- a/efl/elementary/multibuttonentry.pxi +++ b/efl/elementary/multibuttonentry.pxi @@ -634,4 +634,4 @@ cdef class MultiButtonEntry(Object): self._callback_del("expand,state,changed", func) -_object_mapping_register("Efl.Ui.Multibuttonentry_Legacy", MultiButtonEntry) +_object_mapping_register("Elm.Multibuttonentry", MultiButtonEntry) diff --git a/efl/elementary/slider.pxi b/efl/elementary/slider.pxi index 73291cf..b138de7 100644 --- a/efl/elementary/slider.pxi +++ b/efl/elementary/slider.pxi @@ -440,4 +440,4 @@ cdef class Slider(LayoutClass): self._callback_del("delay,changed", func) -_object_mapping_register("Efl.Ui.Slider_Legacy", Slider) +_object_mapping_register("Elm.Slider", Slider) --
[EGIT] [enlightenment/modules/edgar] master 01/02: change popups to be elm based, no more edje for them
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=78c6416b09057808cd83d54c3b316c51404bdfd8 commit 78c6416b09057808cd83d54c3b316c51404bdfd8 Author: Dave Andreoli Date: Sat Jul 14 17:14:03 2018 +0200 change popups to be elm based, no more edje for them this change gadget API, all the gadgets will be updated in the next commit --- python/e.py | 35 src/e_mod_edgar.c | 242 +- 2 files changed, 167 insertions(+), 110 deletions(-) diff --git a/python/e.py b/python/e.py index 1867d5e..3b1c400 100644 --- a/python/e.py +++ b/python/e.py @@ -93,39 +93,42 @@ class Gadget(object): """ pass -def popup_created(self, obj): +def popup_created(self, elm_parent): """ A new popup for the gadget has been created. -Edgar automatically create the popup for the gadget, using the group -provided in the edje file (e/gadgets/name/popup). -Once the popup has been created this function is called so that you -can fill it's content as required. +Edgar automatically create the popup container for the gadget popup, +once the popup has been created this function is called so that you can +create it's content as required. -The default implementation put the object in the _popups list, so -don't forget to call the super() function. +The default implementation do nothing, you don't have to call super(). Args: -obj: the created edje object that you can fill - +elm_parent: you must use this elementary object as the parent +for your main content. This object is ensured to be an +elm object but the type of widget can vary. Use this +only as the parent for your content, nothing else. +Return: +You must return the created content object, that will be placed +in the popup by edgar itself. """ -self._popups.append(obj) +return None def popup_destroyed(self, obj): """ The popup has been dismissed. When a popup id destroyed this function is called so that you can clean your stuff related to this popup. -The edje object will be automatically deleted by edgar just after -this call, you dont need to delete it yourself. +The popup content object (the one returned from popup_created) will +be automatically deleted by edgar just after this call, you dont need to +delete it yourself. -The default implementation remove the object in the _popups list, so -don't forget to call the super() function. +The default implementation do nothing, you don't have to call super(). Args: -obj: the popup edje object +obj: the popup content object """ -self._popups.remove(obj) +pass """ E_Gadcon_Site """ diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 9ed32a5..a97338e 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -31,7 +31,8 @@ /* TODO: - correctly manage the new bryce orientations - - change popups to be elm based, no more edje for them + - gadget configurations (and thus id management) + - gadget actions (keybindings) */ @@ -84,7 +85,7 @@ static PyObject *evasObjectType; static PyObject *edjeEdjeType; -#define CURRENT_VAPI 1 +#define CURRENT_VAPI 2 #define PY_BOOTSTRAP_SCRIPT \ "import sys \n" \ @@ -105,6 +106,19 @@ static PyObject *edjeEdjeType; return _ret_val_; \ }\ +#define PY_ON_ERROR_GOTO(_extra_check_, _goto_, _msg_) \ + if (PyErr_Occurred()) { \ + PyErr_Print();\ + PyRun_SimpleString("sys.stdout.flush()"); \ + PyRun_SimpleString("sys.stderr.flush()"); \ + if (_msg_) DBG("EDGAR: ERROR "_msg_); \ + goto _goto_; \ + }\ + if (_extra_check_) { \ + if (_msg_) DBG("EDGAR: ERROR "_msg_); \ + goto _goto_; \ + }\ + #if (PY_VERSION_HEX < 0x0303) #define PyString_AsString(x) PyBytes_AsString(PyUnicode_AsUTF8String(x)) @@ -368,6 +382,75 @@ edgar_gadgets_hash_free_func(void *data) /
[EGIT] [enlightenment/modules/edgar] master 02/02: Update all gadgets to API 2
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=4a81ad6b471df7d6165f7ab318bcd3589a3a6f82 commit 4a81ad6b471df7d6165f7ab318bcd3589a3a6f82 Author: Dave Andreoli Date: Sat Jul 14 17:26:32 2018 +0200 Update all gadgets to API 2 --- GADGETS/audio/__init__.py | 98 ++ GADGETS/audio/audio.edc| 35 --- GADGETS/calculator/__init__.py | 4 +- GADGETS/cpu/__init__.py| 90 +- GADGETS/cpu/cpu.edc| 13 -- GADGETS/dropbox/__init__.py| 42 +- GADGETS/dropbox/dropbox.edc| 18 GADGETS/led_clock/__init__.py | 9 +++- GADGETS/mem/__init__.py| 91 +++ GADGETS/mem/mem.edc| 12 -- GADGETS/netspeed/__init__.py | 55 ++-- GADGETS/netspeed/netspeed.edc | 44 +-- 12 files changed, 208 insertions(+), 303 deletions(-) diff --git a/GADGETS/audio/__init__.py b/GADGETS/audio/__init__.py index 25a873c..a13f73f 100644 --- a/GADGETS/audio/__init__.py +++ b/GADGETS/audio/__init__.py @@ -11,20 +11,24 @@ from efl import ecore from efl import evas from efl import edje from efl.dbus_mainloop import DBusEcoreMainLoop -from efl.elementary.label import Label -from efl.elementary.layout import Layout -from efl.elementary.slider import Slider +from efl.evas import EXPAND_HORIZ, FILL_HORIZ +from efl import elementary as elm __gadget_name__ = 'Audio' -__gadget_vers__ = '0.1' +__gadget_vers__ = '0.2' __gadget_auth__ = 'DaveMDS' __gadget_mail__ = 'd...@gurumeditation.it' __gadget_desc__ = 'The complete audio gadget.' -__gadget_vapi__ = 1 +__gadget_vapi__ = 2 __gadget_opts__ = { 'popup_on_desktop': True } +# def DBG(msg): + # print("AUDIO: %s" % msg) + # sys.stdout.flush() + + _instance = None @@ -43,6 +47,7 @@ class Gadget(e.Gadget): self.pulse = PulseAudio_Client() def instance_created(self, obj, site): +# DBG("INSTANCE CREATED") super().instance_created(obj, site) obj.signal_callback_add('mouse,down,2', 'over', self.speaker_click_cb) @@ -51,6 +56,7 @@ class Gadget(e.Gadget): self.speaker_update(obj) def instance_destroyed(self, obj): +# DBG("INSTANCE DESTROYED") super().instance_destroyed(obj) def speaker_click_cb(self, obj, sig, source): @@ -76,54 +82,55 @@ class Gadget(e.Gadget): return ch.volume_set(min(max(0, new_vol), 65500)) -def popup_created(self, popup): -super().popup_created(popup) +def popup_created(self, elm_parent): +# DBG("POPUP CREATED") +main_box = elm.Box(elm_parent) +main_box.show() + +players_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ, +size_hint_fill=FILL_HORIZ) +main_box.pack_end(players_box) +players_box.show() + +volumes_box = elm.Box(main_box, size_hint_expand=EXPAND_HORIZ, +size_hint_fill=FILL_HORIZ) +main_box.pack_end(volumes_box) +volumes_box.show() + +main_box.data['players_box'] = players_box +main_box.data['volumes_box'] = volumes_box # add all the available players to the popup edje box for player in self.mpris.players: -self.popup_player_add(popup, player) +self.popup_player_add(main_box, player) # add all the channel sliders if self.pulse.conn is not None: for ch in self.pulse.channels: -self.popup_volume_add(popup, ch) +self.popup_volume_add(main_box, ch) else: -lb = Label(popup, text='Cannot connect to PulseAudio') +lb = elm.Label(popup, text='Cannot connect to PulseAudio') +volumes_box.pack_start(lb) lb.show() -popup.part_box_append('volumes.box', lb) - -def popup_destroyed(self, popup): -super().popup_destroyed(popup) -while True: -# pop an item from the players box -obj = popup.part_box_remove_at('players.box', 0) -if obj is None: break +return main_box -# remove the obj from our lists +def popup_destroyed(self, popup): +# DBG("POPUP DESTROYED") +# remove the objects from our lists +for obj in popup.data['players_box'].children: for player, objs in self.player_objs.items(): -while obj in objs: objs.remove(obj) - -# delete the player layout -obj.delete() - -while True: -# p
[EGIT] [bindings/python/python-efl] master 01/01: Fix warnings spotted by cython 0.28
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=30c9c60b5d20b546bfc00ec7a2f5d5a29d9a76a6 commit 30c9c60b5d20b546bfc00ec7a2f5d5a29d9a76a6 Author: Dave Andreoli Date: Sat Mar 24 08:42:31 2018 +0100 Fix warnings spotted by cython 0.28 Those are all simbols redeclared in different places --- efl/elementary/box_cdef.pxi | 2 -- efl/elementary/cnp_callbacks.pxi| 8 efl/elementary/elementary_cdef.pxi | 11 ++- efl/elementary/entry_cdef.pxi | 9 - efl/elementary/layout_cdef.pxi | 2 -- efl/elementary/object_cdef.pxi | 21 - efl/elementary/object_item_cdef.pxi | 3 --- include/efl.ecore_x.pxd | 6 -- include/efl.elementary.enums.pxd| 17 - 9 files changed, 10 insertions(+), 69 deletions(-) diff --git a/efl/elementary/box_cdef.pxi b/efl/elementary/box_cdef.pxi index b56c24b..40feec5 100644 --- a/efl/elementary/box_cdef.pxi +++ b/efl/elementary/box_cdef.pxi @@ -1,5 +1,3 @@ -cdef extern from "Ecore.h": -ctypedef void (*Ecore_Cb)(void *data) cdef extern from "Evas.h": ctypedef void *Evas_Object_Box_Data diff --git a/efl/elementary/cnp_callbacks.pxi b/efl/elementary/cnp_callbacks.pxi index 8e6b7e4..8b29de1 100644 --- a/efl/elementary/cnp_callbacks.pxi +++ b/efl/elementary/cnp_callbacks.pxi @@ -1,14 +1,6 @@ from efl.utils.conversions cimport python_list_objects_to_eina_list cdef extern from "Elementary.h": -struct _Elm_Selection_Data: -Evas_Coord x, y -Elm_Sel_Format format -void*data -size_t len -Elm_Xdnd_Action action - -ctypedef _Elm_Selection_Data Elm_Selection_Data ctypedef Eina_Bool (*Elm_Drop_Cb) (void *data, Evas_Object *obj, Elm_Selection_Data *ev) ctypedef Elm_Object_Item *(*Elm_Xy_Item_Get_Cb) (Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int *yposret) diff --git a/efl/elementary/elementary_cdef.pxi b/efl/elementary/elementary_cdef.pxi index a9751e4..7b21958 100644 --- a/efl/elementary/elementary_cdef.pxi +++ b/efl/elementary/elementary_cdef.pxi @@ -11,7 +11,8 @@ from efl.evas.enums cimport EVAS_EVENT_FLAG_NONE, EVAS_CALLBACK_KEY_DOWN, \ from efl.ecore cimport Ecore_Pos_Map from efl.elementary.enums cimport Elm_Process_State, Elm_Sys_Notify_Urgency, \ -Elm_Policy, Elm_Policy_Quit, Elm_Policy_Exit, Elm_Policy_Throttle +Elm_Policy, Elm_Policy_Quit, Elm_Policy_Exit, Elm_Policy_Throttle, \ +Elm_Sel_Format, Elm_Xdnd_Action cdef extern from "time.h": @@ -47,6 +48,14 @@ cdef extern from "Elementary.h": const char *palette_name Eina_List *color_list +#selection +ctypedef struct Elm_Selection_Data: +Evas_Coord x, y +Elm_Sel_Format format +void*data +size_t len +Elm_Xdnd_Action action + #event ctypedef Eina_Bool (*Elm_Event_Cb) (void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type t, void *event_info) diff --git a/efl/elementary/entry_cdef.pxi b/efl/elementary/entry_cdef.pxi index 8e95e6d..7cda8be 100644 --- a/efl/elementary/entry_cdef.pxi +++ b/efl/elementary/entry_cdef.pxi @@ -21,20 +21,11 @@ cdef extern from "Elementary.h": Eina_Bool hover_top Eina_Bool hover_bottom -ctypedef struct Elm_Selection_Data: -Evas_Coord x, y -Elm_Sel_Format format -void*data -size_t len -Elm_Xdnd_Action action - ctypedef struct Elm_Entry_Context_Menu_Item: pass ctypedef void (*Elm_Entry_Filter_Cb)(void *data, Evas_Object *entry, char **text) -ctypedef Eina_Bool (*Elm_Drop_Cb) (void *data, Evas_Object *obj, Elm_Selection_Data *ev) - # Data for the elm_entry_filter_limit_size() entry filter. ctypedef struct Elm_Entry_Filter_Limit_Size: int max_char_count # The maximum number of characters allowed. diff --git a/efl/elementary/layout_cdef.pxi b/efl/elementary/layout_cdef.pxi index 7405d5e..8a830ef 100644 --- a/efl/elementary/layout_cdef.pxi +++ b/efl/elementary/layout_cdef.pxi @@ -1,5 +1,3 @@ -cdef extern from "Edje.h": -ctypedef void (*Edje_Signal_Cb)(void *data, Evas_Object *obj, const char *emission, const char *source) cdef extern from "Elementary.h": Eina_Bool elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) diff --git a/efl/elementary/object_cdef.pxi b/efl/elementary/object_cdef.pxi index 06bc567..88265d0 100644 --- a/efl/elementary/object_cdef.pxi +++ b/efl/elementary/object_cdef.pxi @@ -18,33 +18,12 @@ from efl.elementary.enums cimport Elm_Sel_Type, Elm_Focus_Direction, \ Elm_Focus_Region_Show_Mode, Elm_Toolti
[EGIT] [bindings/python/python-efl] master 01/01: Changes to make cython 0.28 happy
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=26607a098607d56ad460e84535387628045217d8 commit 26607a098607d56ad460e84535387628045217d8 Author: Dave Andreoli Date: Mon Mar 19 21:16:53 2018 +0100 Changes to make cython 0.28 happy This just refactor how the extensions are named, nothing is changed in the final layout of the package. Renamed the dbus extension, that was indeed the only one with a different naming scheme. Also raised the minimum cython version a bit, min is now at 0.23.5, that is still quite old. The oldest ones seems to not like the new naming scheme. --- .../{dbus_mainloop.pxd => efl.dbus_mainloop.pxd} | 0 .../{dbus_mainloop.pyx => efl.dbus_mainloop.pyx} | 0 setup.py | 47 +- 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/efl/dbus_mainloop/dbus_mainloop.pxd b/efl/dbus_mainloop/efl.dbus_mainloop.pxd similarity index 100% rename from efl/dbus_mainloop/dbus_mainloop.pxd rename to efl/dbus_mainloop/efl.dbus_mainloop.pxd diff --git a/efl/dbus_mainloop/dbus_mainloop.pyx b/efl/dbus_mainloop/efl.dbus_mainloop.pyx similarity index 100% rename from efl/dbus_mainloop/dbus_mainloop.pyx rename to efl/dbus_mainloop/efl.dbus_mainloop.pyx diff --git a/setup.py b/setup.py index 8b1c043..885acd6 100755 --- a/setup.py +++ b/setup.py @@ -19,7 +19,7 @@ RELEASE = __version__ VERSION = "%d.%d" % (vers[0], vers[1] if vers[2] < 99 else vers[1] + 1) # dependencies -CYTHON_MIN_VERSION = "0.21" +CYTHON_MIN_VERSION = "0.23.5" CYTHON_BLACKLIST = () EFL_MIN_VER = RELEASE ELM_MIN_VER = RELEASE @@ -268,7 +268,8 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): # === Eo === eo_cflags, eo_libs = pkg_config('Eo', 'eo', EFL_MIN_VER) -eo_ext = Extension("eo", ["efl/eo/efl.eo" + module_suffix], +eo_ext = Extension("efl.eo", + ["efl/eo/efl.eo" + module_suffix], define_macros=[ ('EFL_BETA_API_SUPPORT', 1), ('EFL_EO_API_SUPPORT', 1) @@ -281,15 +282,18 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): # === Utilities === utils_ext = [ -Extension("utils.deprecated", ["efl/utils/deprecated" + module_suffix], +Extension("efl.utils.deprecated", + ["efl/utils/deprecated" + module_suffix], include_dirs=['include/'], extra_compile_args=eina_cflags + common_cflags, extra_link_args=eina_libs), -Extension("utils.conversions", ["efl/utils/conversions" + module_suffix], +Extension("efl.utils.conversions", + ["efl/utils/conversions" + module_suffix], include_dirs=['include/'], extra_compile_args=eo_cflags + common_cflags, extra_link_args=eo_libs + eina_libs), -Extension("utils.logger", ["efl/utils/logger" + module_suffix], +Extension("efl.utils.logger", + ["efl/utils/logger" + module_suffix], include_dirs=['include/'], extra_compile_args=eina_cflags + common_cflags, extra_link_args=eina_libs), @@ -300,7 +304,8 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): # === Evas === evas_cflags, evas_libs = pkg_config('Evas', 'evas', EFL_MIN_VER) -evas_ext = Extension("evas", ["efl/evas/efl.evas" + module_suffix], +evas_ext = Extension("efl.evas", + ["efl/evas/efl.evas" + module_suffix], define_macros=[ ('EFL_BETA_API_SUPPORT', 1), ('EFL_EO_API_SUPPORT', 1) @@ -314,7 +319,8 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv): ecore_cflags, ecore_libs = pkg_config('Ecore', 'ecore', EFL_MIN_VER) ecore_file_cflags, ecore_file_libs = pkg_config('EcoreFile', 'ecore-file', EFL_MIN_VER) -ecore_ext = Extension("ecore", ["efl/ecore/efl.ecore" + module_suffix], +ecore_ext = Extension("efl.ecore", +
[EGIT] [enlightenment/modules/edgar] master 01/02: Add support for new E gadgets infra
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=205a16700ea643ea23cb081c401ab21e6a5367a4 commit 205a16700ea643ea23cb081c401ab21e6a5367a4 Author: Dave Andreoli Date: Tue Mar 6 11:04:45 2018 +0100 Add support for new E gadgets infra Edgar gadgets can now live on both shelves and bryces. --- src/e_mod_edgar.c | 281 +- src/e_mod_edgar.h | 2 +- src/e_mod_main.c | 2 +- src/e_mod_main.h | 2 +- 4 files changed, 283 insertions(+), 4 deletions(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 5a47525..9ed32a5 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2014 Davide Andreoli (see AUTHORS) +/* Copyright (C) 2008-2018 Davide Andreoli (see AUTHORS) * * This file is part of edgar. * edgar is free software: you can redistribute it and/or modify @@ -23,6 +23,18 @@ #include "efl.eo_api.h" +#ifdef EFL_VERSION_1_21 +#define EDGAR_GADGETS_DOMAIN "Edgar" +#endif + + +/* TODO: + + - correctly manage the new bryce orientations + - change popups to be elm based, no more edje for them + +*/ + /* Local typedefs */ typedef struct { const char *name; // ex: "ruler" (from folder name) @@ -53,6 +65,14 @@ static const char *_edgar_gc_id_new(const E_Gadcon_Client_Class *client_class); static void _edgar_gc_id_del(const E_Gadcon_Client_Class *client_class, const char *id); static Evas_Object *_edgar_gc_icon(const E_Gadcon_Client_Class *client_class, Evas *evas); +#ifdef EDGAR_GADGETS_DOMAIN +/* Local Gadget/Bryce Prototypes */ +EINTERN Evas_Object *edgar_bryce_create_cb(Evas_Object *parent, const char *type, int *id, E_Gadget_Site_Orient orient); +EINTERN char*edgar_bryce_name_cb(const char *type); +static Evas_Object *edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, Evas_Object *gadget_object); +static void edgar_bryce_popup_del(Edgar_Py_Gadget *gadget, Evas_Object *ctx_popup); +#endif + /* Python eapi module proto */ PyMODINIT_FUNC PyInit_eapi(void); @@ -293,6 +313,14 @@ edgar_gadget_load(const char *name, const char *path) e_gadcon_provider_register(cclass); eina_hash_add(edgar_gadgets, name, gadget); +#ifdef EDGAR_GADGETS_DOMAIN + // add the gadget to the bryce gadgets system + e_gadget_external_type_add(EDGAR_GADGETS_DOMAIN, name, + edgar_bryce_create_cb, NULL); + e_gadget_external_type_name_cb_set(EDGAR_GADGETS_DOMAIN, name, + edgar_bryce_name_cb); +#endif + return gadget; } @@ -308,6 +336,11 @@ edgar_gadget_unload(Edgar_Py_Gadget *gadget) EINA_LIST_FOREACH_SAFE(gadget->pops_obj, l, l2, popup_content) E_FREE_FUNC(popup_content, evas_object_del); +#ifdef EDGAR_GADGETS_DOMAIN + // remove the gadget from the bryce gadgets system + e_gadget_external_type_del(EDGAR_GADGETS_DOMAIN, gadget->name); +#endif + // Free the gadcon client class e_gadcon_provider_unregister(gadget->cclass); eina_stringshare_del(gadget->cclass->name); @@ -583,6 +616,252 @@ edgar_mouse_down1_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) } +#ifdef EDGAR_GADGETS_DOMAIN +/*/ +/* Gadget/Bryce Pupup */ +/*/ +static void +edgar_bryce_ctxpopup_dismissed_cb(void *data, Evas_Object *obj, void *info EINA_UNUSED) +{ + Edgar_Py_Gadget *gadget = data; + edgar_bryce_popup_del(gadget, obj); +} + +static Evas_Object * +edgar_bryce_popup_new(Edgar_Py_Gadget *gadget, Evas_Object *gadget_object) +{ + Evas_Object *ctxpopup, *content; + + DBG("EDGAR: Bryce popup for gadget:%s", gadget->name); + + // create the popup content from the e/gadgets/name/popup group + content = edje_object_add(evas_object_evas_get(gadget_object)); + if (!edgar_theme_object_set(gadget, content, "popup")) + { + DBG("EDGAR: Bryce no popup found for gadget:%s", gadget->name); + evas_object_del(content); + return NULL; + } + // tell edje to propagate sizes to the ctxpopup + edje_object_update_hints_set(content, EINA_TRUE); + + // call the popup_created() method of the gadget. + PyObject *pyobj = object_from_instance(content); + PyObject *ret = PyObject_CallMethod(gadget->instance, "popup_created", + "(S)", pyobj); + PY_ON_ERROR_RETURN(!ret, NULL, "Cannot call popup_created()"); + Py_DECREF(pyobj); + Py_DECREF(ret); + + // put the popup content in an elm ctxpopup + ctxpopup = elm_ctxpopup_add(e_gadget_site_get(gadget_object)); + elm_object_style_set(ctxpopup,
[EGIT] [enlightenment/modules/edgar] master 02/02: Delete the ruler gadget
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=8bacfdf5bd9a52a16bf0312bd06e19b2445ddb4f commit 8bacfdf5bd9a52a16bf0312bd06e19b2445ddb4f Author: Dave Andreoli Date: Tue Mar 6 20:12:06 2018 +0100 Delete the ruler gadget It does not work well with the new E gadgets infra, and it was just a simple example --- GADGETS/ruler/Makefile | 36 GADGETS/ruler/__init__.py| 28 - GADGETS/ruler/images/icon.png| Bin 1293 -> 0 bytes GADGETS/ruler/images/ruler_horiz.png | Bin 13411 -> 0 bytes GADGETS/ruler/images/ruler_vert.png | Bin 14587 -> 0 bytes GADGETS/ruler/ruler.edc | 77 --- 6 files changed, 141 deletions(-) diff --git a/GADGETS/ruler/Makefile b/GADGETS/ruler/Makefile deleted file mode 100644 index 44eafb9..000 --- a/GADGETS/ruler/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# Simple Makefile for Enlightenment (edgar) gadgets - -# gadget specific config -GADGET_NAME = ruler -EXTRA_FILES = - - -# nothing should be changed below this point -GADGET_FILES = __init__.pyc $(GADGET_NAME).edj -prefix = $(shell pkg-config --variable=libdir enlightenment) -gadget_folder = ${prefix}/enlightenment/gadgets/$(GADGET_NAME) - -.PHONY: all install clean - -all: $(GADGET_FILES) $(EXTRA_FILES) - -install: all - @mkdir -p -v ${gadget_folder} - @cp --preserve=mode -v $(GADGET_FILES) $(EXTRA_FILES) $(gadget_folder) - -uninstall: all - @rm -rfv ${gadget_folder} - -clean: - @rm -fv *.edj *.pyc - - -EDJE_CC = edje_cc -EDJE_FLAGS = -v -id images/ -fd fonts/ - -%.edj: %.edc images/* - $(EDJE_CC) $(EDJE_FLAGS) $< - @chmod -v og+r $@ - -%.pyc: %.py - python3 -c "from py_compile import compile; compile('$<', '$@')" diff --git a/GADGETS/ruler/__init__.py b/GADGETS/ruler/__init__.py deleted file mode 100644 index 4a4fb4d..000 --- a/GADGETS/ruler/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -# This python file use the following encoding: utf-8 - -import sys -import os -import e - -from efl import evas - -__gadget_name__ = 'Ruler (HalloWorld)' -__gadget_vers__ = '0.1' -__gadget_auth__ = 'DaveMDS' -__gadget_mail__ = 'd...@gurumeditation.it' -__gadget_desc__ = 'All gadgets sets have a ruler...' -__gadget_vapi__ = 1 - - -class Gadget(e.Gadget): - -def __init__(self): -super().__init__() - -def instance_orient(self, obj, generic, specific): -super().instance_orient(obj, generic, specific) - -if generic == e.E_GADCON_ORIENT_VERT: -obj.signal_emit('gadget,orient,vert', '') -else: -obj.signal_emit('gadget,orient,horiz', '') diff --git a/GADGETS/ruler/images/icon.png b/GADGETS/ruler/images/icon.png deleted file mode 100644 index b0a8172..000 Binary files a/GADGETS/ruler/images/icon.png and /dev/null differ diff --git a/GADGETS/ruler/images/ruler_horiz.png b/GADGETS/ruler/images/ruler_horiz.png deleted file mode 100644 index fef303e..000 Binary files a/GADGETS/ruler/images/ruler_horiz.png and /dev/null differ diff --git a/GADGETS/ruler/images/ruler_vert.png b/GADGETS/ruler/images/ruler_vert.png deleted file mode 100644 index 02b4217..000 Binary files a/GADGETS/ruler/images/ruler_vert.png and /dev/null differ diff --git a/GADGETS/ruler/ruler.edc b/GADGETS/ruler/ruler.edc deleted file mode 100644 index 2db7a1e..000 --- a/GADGETS/ruler/ruler.edc +++ /dev/null @@ -1,77 +0,0 @@ -/** - * E17 Ruler Gadget (HalloWorld) - * - * This is the simplest gadget yo can do. - * Ruler will be used as reference, all off the gadgets features will be - * documented here.You can use this file as a skeleton for your new gadgets. - * - * All the thing that is labeled as API are part that must exist in every - * gadget. - * - */ - - -images { - image: "icon.png" COMP; - image: "ruler_horiz.png" COMP; - image: "ruler_vert.png" COMP; -} - - -collections { -/** - * API [e/gadget/icon] The group used for the icon of the gadget - */ - group { name: "e/gadgets/ruler/icon"; - parts { - part { name: "icon"; -description { - state: "default" 0.0; - aspect: 1.0 1.0; - aspect_preference: BOTH; - image { - normal: "icon.png"; - } -} - } - } - } - -/** - * API [e/gadget/main] The main group of the gadget - * This group is the one that is places on the screen. It's name must be - * e/gadget/main. - */ - group { name: "e/gadgets/ruler/main"; - parts { - part { name: "ruler"; -description { state: "default" 0.0; - min: 800 70
[EGIT] [bindings/python/python-efl] master 01/01: Elm: fix Layout.content_swallow_list_get() to not leak
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=ffc3c337dc183a12e71a80c4a1e7c80710c2d14f commit ffc3c337dc183a12e71a80c4a1e7c80710c2d14f Author: Dave Andreoli Date: Sun Mar 4 09:46:21 2018 +0100 Elm: fix Layout.content_swallow_list_get() to not leak The eina_list_free was wrongly used and was leaking the whole list. Fixed. --- efl/elementary/layout.pxi | 7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/efl/elementary/layout.pxi b/efl/elementary/layout.pxi index a82de40..539f455 100644 --- a/efl/elementary/layout.pxi +++ b/efl/elementary/layout.pxi @@ -875,13 +875,8 @@ cdef class LayoutClass(Object): """ cdef: Eina_List *l = elm_layout_content_swallow_list_get(self.obj) -list ret = list() - -while l: -ret.append(object_from_instance(l.data)) -l = l.next +list ret = eina_list_objects_to_python_list(l) eina_list_free(l) - return ret property icon: --
[EGIT] [bindings/python/python-efl] master 01/01: Elm: add test for elm_image_get() before a set() call
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4b8ddcff7d2333afba38a76774c7d18c5e0ed93b commit 4b8ddcff7d2333afba38a76774c7d18c5e0ed93b Author: Dave Andreoli Date: Thu Mar 1 18:32:46 2018 +0100 Elm: add test for elm_image_get() before a set() call --- tests/elementary/test_02_image_icon.py | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/elementary/test_02_image_icon.py b/tests/elementary/test_02_image_icon.py index cc0b48a..b106a10 100644 --- a/tests/elementary/test_02_image_icon.py +++ b/tests/elementary/test_02_image_icon.py @@ -29,9 +29,10 @@ class TestElmImage(unittest.TestCase): self.assertEqual(Eo.parent_get(self.o), self.w) def testImageFile(self): -self.o.file = os.path.join(script_path, u"icon.png") -self.assertEqual(self.o.file[0], - os.path.join(script_path, u"icon.png")) +img_file = os.path.join(script_path, u"icon.png") +self.assertEqual(self.o.file, (None, None)) +self.o.file = img_file +self.assertEqual(self.o.file, (img_file, None)) self.assertEqual(self.o.object_size, (48, 48)) def testImageFileException(self): --
[EGIT] [tools/clouseau] master 01/01: Make clouseau works again after recent eolian changes
davemds pushed a commit to branch master. http://git.enlightenment.org/tools/clouseau.git/commit/?id=c64d481e7085479d16d5d358e867f5022f1fbd92 commit c64d481e7085479d16d5d358e867f5022f1fbd92 Author: Dave Andreoli Date: Thu Mar 1 18:12:40 2018 +0100 Make clouseau works again after recent eolian changes Note: you need latest efl from git --- src/lib/clouseau_debug.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/clouseau_debug.c b/src/lib/clouseau_debug.c index 10b6d59..1a13dbb 100644 --- a/src/lib/clouseau_debug.c +++ b/src/lib/clouseau_debug.c @@ -74,7 +74,7 @@ static int _win_screenshot_op = EINA_DEBUG_OPCODE_INVALID; static int _focus_manager_list_op = EINA_DEBUG_OPCODE_INVALID; static int _focus_manager_detail_op = EINA_DEBUG_OPCODE_INVALID; -static Eolian *eos = NULL; +static Eolian_State *eos = NULL; static Eet_Data_Descriptor *manager_details = NULL; #include "clouseau_focus_serialization.x" @@ -155,7 +155,7 @@ _eolian_type_resolve(const Eolian_Type *eo_type) if (type_base == EOLIAN_TYPE_REGULAR) { const char *full_name = eolian_type_full_name_get(eo_type); -const Eolian_Typedecl *alias = eolian_typedecl_alias_get_by_name((Eolian_Unit*) eos, full_name); +const Eolian_Typedecl *alias = eolian_state_alias_by_name_get(eos, full_name); if (alias) { eo_type = eolian_typedecl_base_type_get(alias); @@ -634,7 +634,7 @@ _obj_info_req_cb(Eina_Debug_Session *session, int srcid, void *buffer, int size } } - okl = eolian_class_get_by_name((Eolian_Unit*) eos, class_name); + okl = eolian_state_class_by_name_get(eos, class_name); if (!okl) { printf("Class %s not found.\n", class_name); @@ -1117,13 +1117,13 @@ clouseau_debug_init(void) eolian_init(); evas_init(); - eos = eolian_new(); + eos = eolian_state_new(); _eolian_kls_hash = eina_hash_string_superfast_new(NULL); - eolian_system_directory_scan(eos); + eolian_state_system_directory_add(eos); - EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_all_eo_files_parse(eos), EINA_FALSE); - EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_all_eot_files_parse(eos), EINA_FALSE); + EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_state_all_eo_files_parse(eos), EINA_FALSE); + EINA_SAFETY_ON_FALSE_RETURN_VAL(eolian_state_all_eot_files_parse(eos), EINA_FALSE); eina_debug_opcodes_register(NULL, _debug_ops(), NULL, NULL); @@ -1284,7 +1284,7 @@ eolian_debug_object_information_decode(char *buffer, unsigned int size) if (len > 1) // if class_name is not NULL, we begin a new class { kl = calloc(1, sizeof(*kl)); - kl->ekl = eolian_class_get_by_name((Eolian_Unit*) eos, buffer); + kl->ekl = eolian_state_class_by_name_get(eos, buffer); ret->classes = eina_list_append(ret->classes, kl); } if (!kl) --
[EGIT] [enlightenment/modules/edgar] master 01/01: Workaround sizing of the gadgets info popup
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=c751489d8cb551e10186c431b4a4cccd811b29c5 commit c751489d8cb551e10186c431b4a4cccd811b29c5 Author: Dave Andreoli Date: Sun Feb 18 16:32:44 2018 +0100 Workaround sizing of the gadgets info popup This was used to work but now the popup is no more sized correctly. (read: something break somewhere, and is brobably not going to be fixed) The fix is not ideal (the popup should not be resizible) but at least now it show something. --- src/e_mod_edgar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 64470a8..5a47525 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -490,7 +490,7 @@ edgar_menu_info_cb(void *data, E_Menu *m, E_Menu_Item *mi) dia = e_dialog_new(con, "gadget_info", "class"); #endif - e_dialog_resizable_set(dia, 0); + e_dialog_resizable_set(dia, 1); e_dialog_title_set(dia, "Gadget info"); e_dialog_button_add(dia, "Close", NULL, NULL, NULL); --
[EGIT] [bindings/python/python-efl] master 01/01: Changed (again) all the elm class names
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=00d92cbebe4f327e66f61718430f082d6f402ebc commit 00d92cbebe4f327e66f61718430f082d6f402ebc Author: Dave Andreoli Date: Sat Feb 17 01:18:14 2018 +0100 Changed (again) all the elm class names #FollowTheWhiteRabbit --- efl/elementary/background.pxi | 2 +- efl/elementary/button.pxi | 2 +- efl/elementary/check.pxi| 2 +- efl/elementary/datetime.pxi | 3 +-- efl/elementary/flip.pxi | 2 +- efl/elementary/frame.pxi| 2 +- efl/elementary/image.pxi| 2 +- efl/elementary/layout.pxi | 2 +- efl/elementary/multibuttonentry.pxi | 2 +- efl/elementary/panes.pxi| 2 +- efl/elementary/photocam.pxi | 2 +- efl/elementary/progressbar.pxi | 2 +- efl/elementary/radio.pxi| 2 +- efl/elementary/slider.pxi | 2 +- efl/elementary/video.pxi| 2 +- efl/elementary/window.pxi | 2 +- 16 files changed, 16 insertions(+), 17 deletions(-) diff --git a/efl/elementary/background.pxi b/efl/elementary/background.pxi index 72b1ee3..389ee5d 100644 --- a/efl/elementary/background.pxi +++ b/efl/elementary/background.pxi @@ -184,4 +184,4 @@ cdef class Background(LayoutClass): def load_size_set(self, w, h): elm_bg_load_size_set(self.obj, w, h) -_object_mapping_register("Elm.Bg", Background) +_object_mapping_register("Efl.Ui.Bg_Widget_Legacy", Background) diff --git a/efl/elementary/button.pxi b/efl/elementary/button.pxi index d974776..f78b43f 100644 --- a/efl/elementary/button.pxi +++ b/efl/elementary/button.pxi @@ -135,4 +135,4 @@ cdef class Button(LayoutClass): self._callback_del("unpressed", func) -_object_mapping_register("Efl.Ui.Button", Button) +_object_mapping_register("Efl.Ui.Button_Legacy", Button) diff --git a/efl/elementary/check.pxi b/efl/elementary/check.pxi index c56c309..22f7c40 100644 --- a/efl/elementary/check.pxi +++ b/efl/elementary/check.pxi @@ -65,4 +65,4 @@ cdef class Check(LayoutClass): self._callback_del("changed", func) -_object_mapping_register("Efl.Ui.Check", Check) +_object_mapping_register("Efl.Ui.Check_Legacy", Check) diff --git a/efl/elementary/datetime.pxi b/efl/elementary/datetime.pxi index 6b9ec1b..4fa4b9d 100644 --- a/efl/elementary/datetime.pxi +++ b/efl/elementary/datetime.pxi @@ -347,5 +347,4 @@ cdef class Datetime(Object): self._callback_del("changed", func) -# _object_mapping_register("Elm.Datetime", Datetime) -_object_mapping_register("Efl.Ui.Clock", Datetime) +_object_mapping_register("Efl.Ui.Clock_Legacy", Datetime) diff --git a/efl/elementary/flip.pxi b/efl/elementary/flip.pxi index 0476f16..711d5d9 100644 --- a/efl/elementary/flip.pxi +++ b/efl/elementary/flip.pxi @@ -203,4 +203,4 @@ cdef class Flip(Object): self._callback_del("animate,done", func) -_object_mapping_register("Efl.Ui.Flip", Flip) +_object_mapping_register("Efl.Ui.Flip_Legacy", Flip) diff --git a/efl/elementary/frame.pxi b/efl/elementary/frame.pxi index 7f84e12..a96b5f3 100644 --- a/efl/elementary/frame.pxi +++ b/efl/elementary/frame.pxi @@ -95,4 +95,4 @@ cdef class Frame(LayoutClass): self._callback_del("clicked", func) -_object_mapping_register("Efl.Ui.Frame", Frame) +_object_mapping_register("Efl.Ui.Frame_Legacy", Frame) diff --git a/efl/elementary/image.pxi b/efl/elementary/image.pxi index 0389aef..0e75ae0 100644 --- a/efl/elementary/image.pxi +++ b/efl/elementary/image.pxi @@ -665,4 +665,4 @@ cdef class Image(Object): def callback_load_cancel_del(self, func): self._callback_del("load,cancel", func) -_object_mapping_register("Efl.Ui.Image", Image) +_object_mapping_register("Efl.Ui.Image_Legacy", Image) diff --git a/efl/elementary/layout.pxi b/efl/elementary/layout.pxi index e5e1e5c..a82de40 100644 --- a/efl/elementary/layout.pxi +++ b/efl/elementary/layout.pxi @@ -949,5 +949,5 @@ cdef class Layout(LayoutClass): self._set_properties_from_keyword_args(kwargs) -_object_mapping_register("Efl.Ui.Layout", Layout) +_object_mapping_register("Efl.Ui.Layout_Legacy", Layout) diff --git a/efl/elementary/multibuttonentry.pxi b/efl/elementary/multibuttonentry.pxi index 85dde07..a6c528c 100644 --- a/efl/elementary/multibuttonentry.pxi +++ b/efl/elementary/multibuttonentry.pxi @@ -634,4 +634,4 @@ cdef class MultiButtonEntry(Object): self._callback_del("expand,state,changed", func) -_object_mapping_register("Elm.Multibuttonentry", MultiButtonEntry) +_object_mapping_register("Efl.Ui.Multibuttonentry_Legacy", MultiButtonEntry) diff --git a/efl/elementary/panes.pxi b/efl/element
[EGIT] [enlightenment/modules/places] master 01/01: Fix compilation on recent efl (read as: breackage)
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/places.git/commit/?id=6db7ce49e52f18b36831426d955cec89a9f258d7 commit 6db7ce49e52f18b36831426d955cec89a9f258d7 Author: Dave Andreoli Date: Fri Feb 9 20:20:17 2018 +0100 Fix compilation on recent efl (read as: breackage) without this change I'm getting tons of errors like: In file included from /usr/local/include/ecore-1/Ecore_Common.h:1039:0, from /usr/local/include/ecore-1/Ecore.h:329, from /usr/local/include/enlightenment/e.h:116, from e_mod_udisks_eldbus.c:9: /usr/local/include/ecore-1/ecore_exe.eo.h:103:20: error: unknown type name ‘Efl_Event_Description’ EWAPI extern const Efl_Event_Description _ECORE_EXE_EVENT_DATA_GET; and: /usr/local/include/ecore-1/efl_loop.eo.h:286:20: error: unknown type name ‘Efl_Event_Description’ EWAPI extern const Efl_Event_Description _EFL_LOOP_EVENT_POLL_HIGH; I think that swapping the includes make it work because e.h set BETA_API and that make eldbus happy. So seems (without too much investigation) that eldbus is broken for legacy app. (...me so tired to fixing legacy efl breackages) --- src/e_mod_udisks_eldbus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e_mod_udisks_eldbus.c b/src/e_mod_udisks_eldbus.c index 4a3016a..e448361 100644 --- a/src/e_mod_udisks_eldbus.c +++ b/src/e_mod_udisks_eldbus.c @@ -5,8 +5,8 @@ #ifdef HAVE_ELDBUS -#include #include +#include #include "e_mod_main.h" #include "e_mod_places.h" --
[EGIT] [bindings/python/python-efl] master 01/01: systray do not work anymore as the widget has been removed from efl :(
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=f81fc890bb69ffe42f99cee4cb9a10fcff432f95 commit f81fc890bb69ffe42f99cee4cb9a10fcff432f95 Author: Dave Andreoli Date: Tue Dec 12 19:25:39 2017 +0100 systray do not work anymore as the widget has been removed from efl :( ... we still need to decide what to do with this breakage --- ChangeLog | 13 + efl/elementary/__init__.pyx | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 0f76466..4d4f126 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ === +-XX-XX v1.21.0 +=== + +BREAKS: + * systray.pxi do not work anymore as the widget has been removed from efl. + (commented in efl/elementary/__init__.pyx) + TODO FIXME... we still need to decide what to do with this breakage, + maybe an empty api with just a break notice? in this way apps using + systray will still run (not crash) + + + +=== 2017-05-06 v1.20.0 === diff --git a/efl/elementary/__init__.pyx b/efl/elementary/__init__.pyx index e99156e..e573812 100644 --- a/efl/elementary/__init__.pyx +++ b/efl/elementary/__init__.pyx @@ -1285,7 +1285,7 @@ include "slider.pxi" include "slideshow.pxi" include "spinner.pxi" #include "store.pxi" -include "systray.pxi" +# include "systray.pxi" include "table.pxi" include "theme.pxi" include "thumb.pxi" --
[EGIT] [enlightenment/modules/edgar] master 01/01: FollowTheWhiteRabbit
davemds pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=7a09d3d26d0d757b62ab1ac767fb0be09c646dd5 commit 7a09d3d26d0d757b62ab1ac767fb0be09c646dd5 Author: Dave Andreoli Date: Mon Dec 11 19:41:38 2017 +0100 FollowTheWhiteRabbit --- src/e_mod_edgar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/e_mod_edgar.c b/src/e_mod_edgar.c index 04dc177..64470a8 100644 --- a/src/e_mod_edgar.c +++ b/src/e_mod_edgar.c @@ -352,7 +352,7 @@ edgar_theme_object_set(Edgar_Py_Gadget *gadget, Evas_Object *obj, const char *gr if (!gadget->edjefile) return EINA_FALSE; - if (efl_isa(obj, EDJE_OBJECT_CLASS)) + if (efl_isa(obj, EFL_CANVAS_LAYOUT_CLASS)) return edje_object_file_set(obj, gadget->edjefile, buf); if (efl_isa(obj, EFL_UI_LAYOUT_CLASS)) --
[EGIT] [bindings/python/python-efl] master 01/01: rename Edje.Object to Efl.Canvas.Layout
davemds pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=28c97758986e816656bc2c1307130bac287013c8 commit 28c97758986e816656bc2c1307130bac287013c8 Author: Dave Andreoli Date: Sat Dec 9 20:42:20 2017 +0100 rename Edje.Object to Efl.Canvas.Layout #FollowTheWhiteRabbit also fix a small typo in the Makefile --- Makefile | 4 ++-- efl/edje/efl.edje_object.pxi | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 6bbe134..e155895 100644 --- a/Makefile +++ b/Makefile @@ -44,8 +44,8 @@ clean: $(PY) setup.py clean --all -.PHONY: maintaner-clean -maintaner-clean: +.PHONY: maintainer-clean +maintainer-clean: $(PY) setup.py clean --all clean_generated_files .PHONY: dist diff --git a/efl/edje/efl.edje_object.pxi b/efl/edje/efl.edje_object.pxi index 534eb88..29354ce 100644 --- a/efl/edje/efl.edje_object.pxi +++ b/efl/edje/efl.edje_object.pxi @@ -1509,4 +1509,4 @@ def on_text_change(func): return func -_object_mapping_register("Edje.Object", Edje) +_object_mapping_register("Efl.Canvas.Layout", Edje) --