forked from enlightenment/edi
[tabs] add a close all feature
For the times when you just have too many tabs open!
This commit is contained in:
parent
49fa89dc03
commit
a744f48420
|
@ -704,6 +704,13 @@ _edi_menu_close_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
edi_mainview_close();
|
edi_mainview_close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edi_menu_closeall_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
|
void *event_info EINA_UNUSED)
|
||||||
|
{
|
||||||
|
edi_mainview_closeall();
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_edi_menu_settings_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
_edi_menu_settings_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
|
@ -815,6 +822,7 @@ _edi_menu_setup(Evas_Object *win)
|
||||||
elm_menu_item_add(menu, menu_it, "document-save", "Save", _edi_menu_save_cb, NULL);
|
elm_menu_item_add(menu, menu_it, "document-save", "Save", _edi_menu_save_cb, NULL);
|
||||||
elm_menu_item_add(menu, menu_it, "window-new", "New window", _edi_menu_open_window_cb, NULL);
|
elm_menu_item_add(menu, menu_it, "window-new", "New window", _edi_menu_open_window_cb, NULL);
|
||||||
elm_menu_item_add(menu, menu_it, "stock_close", "Close", _edi_menu_close_cb, NULL);
|
elm_menu_item_add(menu, menu_it, "stock_close", "Close", _edi_menu_close_cb, NULL);
|
||||||
|
elm_menu_item_add(menu, menu_it, "stock_close", "Close all", _edi_menu_closeall_cb, NULL);
|
||||||
elm_menu_item_separator_add(menu, menu_it);
|
elm_menu_item_separator_add(menu, menu_it);
|
||||||
elm_menu_item_add(menu, menu_it, "preferences-desktop", "Settings", _edi_menu_settings_cb, NULL);
|
elm_menu_item_add(menu, menu_it, "preferences-desktop", "Settings", _edi_menu_settings_cb, NULL);
|
||||||
elm_menu_item_separator_add(menu, menu_it);
|
elm_menu_item_separator_add(menu, menu_it);
|
||||||
|
|
|
@ -479,22 +479,42 @@ edi_mainview_new_window()
|
||||||
edi_mainview_open_window_path(item->path);
|
edi_mainview_open_window_path(item->path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_edi_mainview_close_item(Edi_Mainview_Item *item)
|
||||||
|
{
|
||||||
|
if (!item)
|
||||||
|
return;
|
||||||
|
|
||||||
|
elm_naviframe_item_promote(item->view);
|
||||||
|
elm_naviframe_item_pop(nf);
|
||||||
|
elm_object_item_del(item->tab);
|
||||||
|
_edi_mainview_items = eina_list_remove(_edi_mainview_items, item);
|
||||||
|
|
||||||
|
_edi_project_config_tab_remove(item->path);
|
||||||
|
eina_stringshare_del(item->path);
|
||||||
|
free(item);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
edi_mainview_close()
|
edi_mainview_close()
|
||||||
{
|
{
|
||||||
Edi_Mainview_Item *item;
|
Edi_Mainview_Item *item;
|
||||||
|
|
||||||
item = edi_mainview_item_current_get();
|
item = edi_mainview_item_current_get();
|
||||||
if (!item)
|
|
||||||
return;
|
|
||||||
|
|
||||||
elm_naviframe_item_pop(nf);
|
_edi_mainview_close_item(item);
|
||||||
elm_object_item_del(elm_toolbar_selected_item_get(tb));
|
}
|
||||||
_edi_mainview_items = eina_list_remove(_edi_mainview_items, item);
|
|
||||||
|
|
||||||
_edi_project_config_tab_remove(item->path);
|
void
|
||||||
eina_stringshare_del(item->path);
|
edi_mainview_closeall()
|
||||||
free(item);
|
{
|
||||||
|
Eina_List *list, *next;
|
||||||
|
Edi_Mainview_Item *item;
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH_SAFE(_edi_mainview_items, list, next, item)
|
||||||
|
{
|
||||||
|
_edi_mainview_close_item(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -110,6 +110,13 @@ void edi_mainview_new_window();
|
||||||
*/
|
*/
|
||||||
void edi_mainview_close();
|
void edi_mainview_close();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close all open files.
|
||||||
|
*
|
||||||
|
* @ingroup Content
|
||||||
|
*/
|
||||||
|
void edi_mainview_closeall();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cut the current selection into the clipboard.
|
* Cut the current selection into the clipboard.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue