summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2021-03-07 12:22:28 +0000
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2021-03-10 10:06:53 +0000
commitb288373ee6c759ea0aca3dc33ac8666fc17dd42d (patch)
tree2135fea88f483d46f52b6d36ef098aa85afe9ad8
parenta6b870266c9744871541b89d1e4aa0b080dd525b (diff)
downloadenlightenment-b288373ee6c759ea0aca3dc33ac8666fc17dd42d.tar.gz
efm - rename - select all up to the first dot so extension stays
-rw-r--r--src/bin/e_fm.c11
-rw-r--r--src/bin/e_widget_entry.c10
-rw-r--r--src/bin/e_widget_entry.h4
3 files changed, 22 insertions, 3 deletions
diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c
index 1e25bda9ba..e603cacecf 100644
--- a/src/bin/e_fm.c
+++ b/src/bin/e_fm.c
@@ -10483,7 +10483,16 @@ _e_fm2_icon_entry_widget_add(E_Fm2_Icon *ic)
e_widget_entry_text_set(ic->entry_widget, ic->info.file);
e_widget_focus_set(ic->entry_widget, 1);
ic->focus_hook = e_client_hook_add(E_CLIENT_HOOK_FOCUS_SET, _e_fm2_icon_entry_widget_focus_out, ic);
- e_widget_entry_select_all(ic->entry_widget);
+ char *dot = strchr(ic->info.file, '.');
+ if (dot)
+ {
+ int end = (int)((long)(dot - ic->info.file));
+ printf("SEL: %i -> %i\n", 0, end);
+ e_widget_entry_select_set(ic->entry_widget, 0,
+ (int)((long)(dot - ic->info.file)));
+ }
+ else
+ e_widget_entry_select_all(ic->entry_widget);
ic->sd->iop_icon = ic;
ic->sd->typebuf.disabled = EINA_TRUE;
if (e_comp->comp_type == E_PIXMAP_TYPE_X)
diff --git a/src/bin/e_widget_entry.c b/src/bin/e_widget_entry.c
index 46cd4c7c9a..beccb49992 100644
--- a/src/bin/e_widget_entry.c
+++ b/src/bin/e_widget_entry.c
@@ -215,6 +215,16 @@ e_widget_entry_select_all(Evas_Object *entry)
elm_entry_select_all(wd->o_entry);
}
+E_API void
+e_widget_entry_select_set(Evas_Object *entry, int start, int end)
+{
+ E_Widget_Data *wd;
+
+ if (!(entry) || (!(wd = e_widget_data_get(entry))))
+ return;
+ elm_entry_select_region_set(wd->o_entry, start, end);
+}
+
/* Private functions */
static void
diff --git a/src/bin/e_widget_entry.h b/src/bin/e_widget_entry.h
index 7103393875..fc9774c9a3 100644
--- a/src/bin/e_widget_entry.h
+++ b/src/bin/e_widget_entry.h
@@ -8,8 +8,8 @@ E_API void e_widget_entry_text_set (Evas_Object *entry, const
E_API const char *e_widget_entry_text_get (Evas_Object *entry);
E_API void e_widget_entry_clear (Evas_Object *entry);
E_API void e_widget_entry_password_set (Evas_Object *entry, int password_mode);
-E_API void e_widget_entry_readonly_set (Evas_Object *entry, int readonly_mode);
+E_API void e_widget_entry_readonly_set (Evas_Object *entry, int readonly_mode);
E_API void e_widget_entry_select_all (Evas_Object *entry);
-
+E_API void e_widget_entry_select_set (Evas_Object *entry, int start, int end);
#endif
#endif