forked from enlightenment/enlightenment
woop- middle button pastes and works! :)
SVN revision: 4317
This commit is contained in:
parent
49b72fb9fd
commit
bdbf267aeb
1
src/e.h
1
src/e.h
|
@ -557,6 +557,7 @@ struct _E_Entry
|
||||||
Evas_Object cursor;
|
Evas_Object cursor;
|
||||||
Evas_Object selection;
|
Evas_Object selection;
|
||||||
Evas_Object text;
|
Evas_Object text;
|
||||||
|
Window paste_win;
|
||||||
};
|
};
|
||||||
|
|
||||||
void e_entry_init(void);
|
void e_entry_init(void);
|
||||||
|
|
47
src/entry.c
47
src/entry.c
|
@ -1,5 +1,7 @@
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
|
static Evas_List entries;
|
||||||
|
|
||||||
static void e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y);
|
static void e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y);
|
||||||
static void e_entry_up_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y);
|
static void e_entry_up_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y);
|
||||||
static void e_entry_move_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y);
|
static void e_entry_move_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y);
|
||||||
|
@ -8,17 +10,24 @@ static void e_entry_unrealize(E_Entry *entry);
|
||||||
static void e_entry_configure(E_Entry *entry);
|
static void e_entry_configure(E_Entry *entry);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y)
|
e_paste_request(Eevent * ev)
|
||||||
{
|
{
|
||||||
E_Entry *entry;
|
Ev_Paste_Request *e;
|
||||||
int pos;
|
Evas_List l;
|
||||||
|
|
||||||
entry = _data;
|
e = ev->event;
|
||||||
if ((_b == 2) && (!entry->mouse_down))
|
for (l = entries; l; l = l->next)
|
||||||
|
{
|
||||||
|
E_Entry *entry;
|
||||||
|
|
||||||
|
entry = l->data;
|
||||||
|
if (entry->paste_win == e->win)
|
||||||
{
|
{
|
||||||
char *str2;
|
char *str2;
|
||||||
char *type = "Inserted";
|
char *type;
|
||||||
|
|
||||||
|
printf("destined for this entry!\n");
|
||||||
|
type = e->string;
|
||||||
if (entry->select.start >= 0)
|
if (entry->select.start >= 0)
|
||||||
{
|
{
|
||||||
str2 = strdup(e_entry_get_text(entry));
|
str2 = strdup(e_entry_get_text(entry));
|
||||||
|
@ -40,6 +49,28 @@ e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y)
|
||||||
entry->cursor_pos+=strlen(type);
|
entry->cursor_pos+=strlen(type);
|
||||||
e_entry_configure(entry);
|
e_entry_configure(entry);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
e_entry_down_cb(void *_data, Evas _e, Evas_Object _o, int _b, int _x, int _y)
|
||||||
|
{
|
||||||
|
E_Entry *entry;
|
||||||
|
int pos;
|
||||||
|
|
||||||
|
entry = _data;
|
||||||
|
if ((_b == 2) && (!entry->mouse_down))
|
||||||
|
{
|
||||||
|
char *str2;
|
||||||
|
char *type = "Inserted";
|
||||||
|
|
||||||
|
{
|
||||||
|
if (entry->paste_win) e_window_destroy(entry->paste_win);
|
||||||
|
printf("e_selection_request();\n");
|
||||||
|
entry->paste_win = e_selection_request();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
else if (!entry->mouse_down)
|
else if (!entry->mouse_down)
|
||||||
{
|
{
|
||||||
entry->focused = 1;
|
entry->focused = 1;
|
||||||
|
@ -241,11 +272,14 @@ e_entry_configure(E_Entry *entry)
|
||||||
void
|
void
|
||||||
e_entry_init(void)
|
e_entry_init(void)
|
||||||
{
|
{
|
||||||
|
e_event_filter_handler_add(EV_PASTE_REQUEST, e_paste_request);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_entry_free(E_Entry *entry)
|
e_entry_free(E_Entry *entry)
|
||||||
{
|
{
|
||||||
|
entries = evas_list_remove(entries, entry);
|
||||||
|
FREE(entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
E_Entry *
|
E_Entry *
|
||||||
|
@ -257,6 +291,7 @@ e_entry_new(void)
|
||||||
ZERO(entry, E_Entry, 1);
|
ZERO(entry, E_Entry, 1);
|
||||||
entry->buffer=strdup("");
|
entry->buffer=strdup("");
|
||||||
entry->select.start = -1;
|
entry->select.start = -1;
|
||||||
|
entries = evas_list_prepend(entries, entry);
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue