add new Filesector.sort_method property (since 1.9)
This commit is contained in:
parent
fdb66d75e6
commit
bd063f0ece
|
@ -116,6 +116,17 @@ cdef extern from "Elementary.h":
|
|||
ELM_FILESELECTOR_LIST
|
||||
ELM_FILESELECTOR_GRID
|
||||
|
||||
ctypedef enum Elm_Fileselector_Sort:
|
||||
ELM_FILESELECTOR_SORT_BY_FILENAME_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_FILENAME_DESC
|
||||
ELM_FILESELECTOR_SORT_BY_TYPE_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_TYPE_DESC
|
||||
ELM_FILESELECTOR_SORT_BY_SIZE_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_SIZE_DESC
|
||||
ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC
|
||||
ELM_FILESELECTOR_SORT_LAST
|
||||
|
||||
ctypedef enum Elm_Flip_Direction:
|
||||
ELM_FLIP_DIRECTION_UP
|
||||
ELM_FLIP_DIRECTION_DOWN
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from efl.eina cimport Eina_Bool, const_Eina_List
|
||||
from efl.evas cimport Evas_Object, const_Evas_Object
|
||||
from enums cimport Elm_Fileselector_Mode
|
||||
from enums cimport Elm_Fileselector_Mode, Elm_Fileselector_Sort
|
||||
from libc.string cimport const_char
|
||||
|
||||
cdef extern from "Elementary.h":
|
||||
|
@ -26,3 +26,5 @@ cdef extern from "Elementary.h":
|
|||
void elm_fileselector_filters_clear(Evas_Object *obj)
|
||||
void elm_fileselector_hidden_visible_set(Evas_Object *obj, Eina_Bool visible)
|
||||
Eina_Bool elm_fileselector_hidden_visible_get(const_Evas_Object *obj)
|
||||
Elm_Fileselector_Sort elm_fileselector_sort_method_get(const_Evas_Object *obj)
|
||||
void elm_fileselector_sort_method_set(Evas_Object *obj, Elm_Fileselector_Sort method)
|
||||
|
|
|
@ -82,8 +82,62 @@ Fileselector modes
|
|||
|
||||
Layout as a grid
|
||||
|
||||
.. _Elm_Fileselector_Sort:
|
||||
|
||||
Fileselector sort method
|
||||
========================
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_FILENAME_ASC
|
||||
|
||||
Sort by filename in ascending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_FILENAME_DESC
|
||||
|
||||
Sort by filename in descending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_TYPE_ASC
|
||||
|
||||
Sort by file type in ascending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_TYPE_DESC
|
||||
|
||||
Sort by file type in descending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_SIZE_ASC
|
||||
|
||||
Sort by file size in ascending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_SIZE_DESC
|
||||
|
||||
Sort by file size in descending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC
|
||||
|
||||
Sort by file modification date in ascending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
.. data:: ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC
|
||||
|
||||
Sort by file modification date in descending order
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
"""
|
||||
|
||||
|
||||
from cpython cimport PyUnicode_AsUTF8String
|
||||
from libc.stdint cimport uintptr_t
|
||||
|
||||
|
@ -97,6 +151,16 @@ cimport enums
|
|||
ELM_FILESELECTOR_LIST = enums.ELM_FILESELECTOR_LIST
|
||||
ELM_FILESELECTOR_GRID = enums.ELM_FILESELECTOR_GRID
|
||||
|
||||
ELM_FILESELECTOR_SORT_BY_FILENAME_ASC = enums.ELM_FILESELECTOR_SORT_BY_FILENAME_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_FILENAME_DESC = enums.ELM_FILESELECTOR_SORT_BY_FILENAME_DESC
|
||||
ELM_FILESELECTOR_SORT_BY_TYPE_ASC = enums.ELM_FILESELECTOR_SORT_BY_TYPE_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_TYPE_DESC = enums.ELM_FILESELECTOR_SORT_BY_TYPE_DESC
|
||||
ELM_FILESELECTOR_SORT_BY_SIZE_ASC = enums.ELM_FILESELECTOR_SORT_BY_SIZE_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_SIZE_DESC = enums.ELM_FILESELECTOR_SORT_BY_SIZE_DESC
|
||||
ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC = enums.ELM_FILESELECTOR_SORT_BY_MODIFIED_ASC
|
||||
ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC = enums.ELM_FILESELECTOR_SORT_BY_MODIFIED_DESC
|
||||
ELM_FILESELECTOR_SORT_LAST = enums.ELM_FILESELECTOR_SORT_LAST
|
||||
|
||||
def _cb_string_conv(uintptr_t addr):
|
||||
cdef const_char *s = <const_char *>addr
|
||||
return _ctouni(s) if s is not NULL else None
|
||||
|
@ -253,6 +317,25 @@ cdef class Fileselector(LayoutClass):
|
|||
def mode_get(self):
|
||||
return elm_fileselector_mode_get(self.obj)
|
||||
|
||||
property sort_method:
|
||||
"""The way files are sorted in the fileselector.
|
||||
|
||||
:type: :ref:`Elm_Fileselector_Sort`
|
||||
|
||||
.. versionadded:: 1.9
|
||||
|
||||
"""
|
||||
def __get__(self):
|
||||
return elm_fileselector_sort_method_get(self.obj)
|
||||
|
||||
def __set__(self, method):
|
||||
elm_fileselector_sort_method_set(self.obj, method)
|
||||
|
||||
def sort_method_set(self, method):
|
||||
elm_fileselector_sort_method_set(self.obj, method)
|
||||
def sort_method_get(self):
|
||||
return elm_fileselector_sort_method_get(self.obj)
|
||||
|
||||
property multi_select:
|
||||
"""Multi-selection in the file selector widget.
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ from efl.elementary.label import Label
|
|||
from efl.elementary.button import Button
|
||||
from efl.elementary.check import Check
|
||||
from efl.elementary.list import List
|
||||
from efl.elementary.fileselector import Fileselector
|
||||
from efl.elementary.fileselector import Fileselector, ELM_FILESELECTOR_SORT_LAST
|
||||
from efl.elementary.fileselector_button import FileselectorButton
|
||||
from efl.elementary.fileselector_entry import FileselectorEntry
|
||||
from efl.elementary.separator import Separator
|
||||
|
@ -46,6 +46,10 @@ def ck_cb_buttons(bt, fs):
|
|||
print("Toggle buttons_ok_cancel")
|
||||
fs.buttons_ok_cancel = not fs.buttons_ok_cancel
|
||||
|
||||
def ck_cb_hidden(bt, fs):
|
||||
print("Toggle hidden_visible")
|
||||
fs.hidden_visible = not fs.hidden_visible
|
||||
|
||||
def bt_cb_sel_get(bt, fs):
|
||||
print("Get Selected:" + fs.selected_get())
|
||||
|
||||
|
@ -56,6 +60,9 @@ def bt_cb_mode_cycle(bt, fs):
|
|||
mode = fs.mode + 1
|
||||
fs.mode_set(mode if mode < 2 else 0)
|
||||
|
||||
def bt_cb_sort_cycle(bt, fs):
|
||||
sort_method = fs.sort_method + 1
|
||||
fs.sort_method = sort_method if sort_method < ELM_FILESELECTOR_SORT_LAST else 0
|
||||
|
||||
def fileselector_clicked(obj, item=None):
|
||||
win = StandardWindow("fileselector", "File selector test", autodel=True,
|
||||
|
@ -102,6 +109,11 @@ def fileselector_clicked(obj, item=None):
|
|||
hbox.pack_end(ck)
|
||||
ck.show()
|
||||
|
||||
ck = Check(win, text="hidden", state=fs.hidden_visible)
|
||||
ck.callback_changed_add(ck_cb_hidden, fs)
|
||||
hbox.pack_end(ck)
|
||||
ck.show()
|
||||
|
||||
hbox = Box(win, horizontal=True)
|
||||
vbox.pack_end(hbox)
|
||||
hbox.show()
|
||||
|
@ -121,6 +133,11 @@ def fileselector_clicked(obj, item=None):
|
|||
hbox.pack_end(bt)
|
||||
bt.show()
|
||||
|
||||
bt = Button(win, text="sort_method cycle")
|
||||
bt.callback_clicked_add(bt_cb_sort_cycle, fs)
|
||||
hbox.pack_end(bt)
|
||||
bt.show()
|
||||
|
||||
win.resize(240, 350)
|
||||
win.show()
|
||||
|
||||
|
|
Loading…
Reference in New Issue