mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-01 01:13:40 +00:00
Added support to close tabs with middle button.
This commit is contained in:
parent
f43bbec69d
commit
77b06bf748
@ -1,5 +1,8 @@
|
||||
2008-10-15 David A. Capello <davidcapello@gmail.com>
|
||||
|
||||
* src/core/app.cpp (tabsbar_select_callback): Added support to
|
||||
close files with middle-button.
|
||||
|
||||
* src/dialogs/filesel.cpp (ase_file_selector): Better handling of
|
||||
special file-names in the entry field (filename_entry).
|
||||
|
||||
|
@ -97,7 +97,7 @@ static JWidget tabsbar = NULL; /* the tabs bar widget */
|
||||
static JList options; /* list of "Option" structures (options to execute) */
|
||||
static char *palette_filename = NULL;
|
||||
|
||||
static void tabsbar_select_callback(JWidget tabs, void *data);
|
||||
static void tabsbar_select_callback(JWidget tabs, void *data, int button);
|
||||
|
||||
static int check_args(int argc, char *argv[]);
|
||||
static void usage(int status);
|
||||
@ -555,10 +555,16 @@ int app_get_color_to_clear_layer(Layer *layer)
|
||||
return get_color_for_layer(layer, color);
|
||||
}
|
||||
|
||||
static void tabsbar_select_callback(JWidget tabs, void *data)
|
||||
static void tabsbar_select_callback(JWidget tabs, void *data, int button)
|
||||
{
|
||||
/* data can be NULL (the "Nothing" tab) */
|
||||
// Note: data can be NULL (the "Nothing" tab)
|
||||
|
||||
// put as current sprite
|
||||
sprite_show((Sprite *)data);
|
||||
|
||||
// middle button: close the sprite
|
||||
if (data && (button & 4))
|
||||
command_execute(command_get_by_name(CMD_CLOSE_FILE), NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -72,7 +72,7 @@ static void colorselector_set_color2(JWidget widget, color_t color,
|
||||
static void colorselector_set_paledit_index(JWidget widget, int index,
|
||||
bool select_index_entry);
|
||||
|
||||
static void select_tab_callback(JWidget tabs, void* data);
|
||||
static void select_tab_callback(JWidget tabs, void* data, int button);
|
||||
static bool slider_change_hook(JWidget widget, void* data);
|
||||
static bool button_mask_select_hook(JWidget widget, void* data);
|
||||
static bool paledit_change_hook(JWidget widget, void* data);
|
||||
@ -363,7 +363,7 @@ static void colorselector_set_color2(JWidget widget, color_t color,
|
||||
}
|
||||
|
||||
tabs_select_tab(tabs, m);
|
||||
select_tab_callback(tabs, m);
|
||||
select_tab_callback(tabs, m, 1);
|
||||
|
||||
if (update_index_entry) {
|
||||
switch (color_type(color)) {
|
||||
@ -420,7 +420,7 @@ static void colorselector_set_paledit_index(JWidget widget, int index, bool sele
|
||||
jwidget_set_text(idx, buf);
|
||||
}
|
||||
|
||||
static void select_tab_callback(JWidget tabs, void* data)
|
||||
static void select_tab_callback(JWidget tabs, void* data, int button)
|
||||
{
|
||||
JWidget window = jwidget_get_window(tabs);
|
||||
Model* selected_model = (Model*)data;
|
||||
|
@ -47,7 +47,7 @@ typedef struct Tabs
|
||||
JList list_of_tabs;
|
||||
Tab *hot;
|
||||
Tab *selected;
|
||||
void (*select_callback)(JWidget tabs, void *data);
|
||||
void (*select_callback)(JWidget tabs, void *data, int button);
|
||||
int timer_id;
|
||||
int scroll_x;
|
||||
/* int hot_arrow; */
|
||||
@ -73,7 +73,7 @@ static void tab_free(Tab *tab);
|
||||
/* Tabs */
|
||||
/**************************************************************/
|
||||
|
||||
JWidget tabs_new(void (*select_callback)(JWidget tabs, void *data))
|
||||
JWidget tabs_new(void (*select_callback)(JWidget tabs, void *data, int button))
|
||||
{
|
||||
JWidget widget = jwidget_new(tabs_type());
|
||||
Tabs *tabs = jnew0(Tabs, 1);
|
||||
@ -302,10 +302,12 @@ static bool tabs_msg_proc(JWidget widget, JMessage msg)
|
||||
if (tabs->selected != tabs->hot && tabs->hot != NULL) {
|
||||
tabs->selected = tabs->hot;
|
||||
jwidget_dirty(widget);
|
||||
|
||||
if (tabs->selected && tabs->select_callback)
|
||||
(*tabs->select_callback)(widget, tabs->selected->data);
|
||||
}
|
||||
|
||||
if (tabs->selected && tabs->select_callback)
|
||||
(*tabs->select_callback)(widget,
|
||||
tabs->selected->data,
|
||||
msg->mouse.flags);
|
||||
return TRUE;
|
||||
|
||||
case JM_WHEEL: {
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
#include "jinete/jbase.h"
|
||||
|
||||
JWidget tabs_new(void (*select_callback)(JWidget tabs, void *data));
|
||||
JWidget tabs_new(void (*select_callback)(JWidget tabs, void *data, int button));
|
||||
|
||||
void tabs_append_tab(JWidget widget, const char *text, void *data);
|
||||
void tabs_remove_tab(JWidget widget, void *data);
|
||||
|
Loading…
x
Reference in New Issue
Block a user