Commit 8e3c7735 authored by Victor Ananjevsky's avatar Victor Ananjevsky

initially implement new search for text-info dialog

parent 147609ab
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: YAD\n" "Project-Id-Version: YAD\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-18 09:24+0300\n" "POT-Creation-Date: 2021-04-18 14:26+0300\n"
"PO-Revision-Date: 2009-04-30 16:47+0300\n" "PO-Revision-Date: 2009-04-30 16:47+0300\n"
"Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n" "Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
...@@ -45,7 +45,7 @@ msgstr "" ...@@ -45,7 +45,7 @@ msgstr ""
"Собран с поддержкой GtkSpell\n" "Собран с поддержкой GtkSpell\n"
"Используется GTK+ %d.%d.%d\n" "Используется GTK+ %d.%d.%d\n"
#: ../src/calendar.c:39 ../src/text.c:585 #: ../src/calendar.c:39 ../src/text.c:589
#, c-format #, c-format
msgid "Cannot open file '%s': %s\n" msgid "Cannot open file '%s': %s\n"
msgstr "Не могу открыть файл %s: %s\n" msgstr "Не могу открыть файл %s: %s\n"
...@@ -70,13 +70,13 @@ msgid "Select files" ...@@ -70,13 +70,13 @@ msgid "Select files"
msgstr "Выбор файлов" msgstr "Выбор файлов"
#: ../src/form.c:458 ../src/form.c:466 ../src/form.c:545 ../src/form.c:553 #: ../src/form.c:458 ../src/form.c:466 ../src/form.c:545 ../src/form.c:553
#: ../src/form.c:604 ../src/html.c:175 ../src/html.c:207 ../src/text.c:160 #: ../src/form.c:604 ../src/html.c:174 ../src/html.c:207 ../src/text.c:162
#: ../src/text.c:225 ../src/util.c:40 #: ../src/text.c:227 ../src/util.c:40
msgid "Cancel" msgid "Cancel"
msgstr "Отмена" msgstr "Отмена"
#: ../src/form.c:459 ../src/form.c:467 ../src/form.c:546 ../src/form.c:554 #: ../src/form.c:459 ../src/form.c:467 ../src/form.c:546 ../src/form.c:554
#: ../src/form.c:605 ../src/html.c:174 ../src/text.c:161 ../src/text.c:226 #: ../src/form.c:605 ../src/html.c:175 ../src/text.c:163 ../src/text.c:228
#: ../src/util.c:46 #: ../src/util.c:46
msgid "OK" msgid "OK"
msgstr "OK" msgstr "OK"
...@@ -109,7 +109,7 @@ msgstr "Выбор каталога" ...@@ -109,7 +109,7 @@ msgstr "Выбор каталога"
msgid "Link" msgid "Link"
msgstr "Ссылка" msgstr "Ссылка"
#: ../src/html.c:171 ../src/text.c:157 ../src/text.c:222 #: ../src/html.c:171 ../src/text.c:159 ../src/text.c:224
msgid "YAD - Select File" msgid "YAD - Select File"
msgstr "YAD - Выбор файла" msgstr "YAD - Выбор файла"
...@@ -1915,23 +1915,23 @@ msgstr "Цвет" ...@@ -1915,23 +1915,23 @@ msgstr "Цвет"
msgid "Name" msgid "Name"
msgstr "Название" msgstr "Название"
#: ../src/text.c:278 #: ../src/text.c:280
msgid "Save _as..." msgid "Save _as..."
msgstr "Сохранить как..." msgstr "Сохранить как..."
#: ../src/text.c:283 #: ../src/text.c:285
msgid "_Save" msgid "_Save"
msgstr "_Сохранить" msgstr "_Сохранить"
#: ../src/text.c:292 #: ../src/text.c:294
msgid "_Open..." msgid "_Open..."
msgstr "_Открыть..." msgstr "_Открыть..."
#: ../src/text.c:302 #: ../src/text.c:304
msgid "_Quit" msgid "_Quit"
msgstr "_Выход" msgstr "_Выход"
#: ../src/text.c:723 #: ../src/text.c:730
#, c-format #, c-format
msgid "Theme %s not found\n" msgid "Theme %s not found\n"
msgstr "Тема %s не найдена\n" msgstr "Тема %s не найдена\n"
...@@ -2001,6 +2001,10 @@ msgstr "Да" ...@@ -2001,6 +2001,10 @@ msgstr "Да"
msgid "WARNING: Run command failed: %s\n" msgid "WARNING: Run command failed: %s\n"
msgstr "ВНИМАНИЕ: Сбой при запуске команды: %s\n" msgstr "ВНИМАНИЕ: Сбой при запуске команды: %s\n"
#: ../src/util.c:860
msgid "Case _sensitive"
msgstr "Учитывать _регистр"
#: ../src/browser.c:160 #: ../src/browser.c:160
msgid "scalable " msgid "scalable "
msgstr "масштабируемый " msgstr "масштабируемый "
......
...@@ -7,7 +7,7 @@ msgid "" ...@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: YAD\n" "Project-Id-Version: YAD\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-18 09:24+0300\n" "POT-Creation-Date: 2021-04-18 14:26+0300\n"
"PO-Revision-Date: 2009-04-30 16:47+0300\n" "PO-Revision-Date: 2009-04-30 16:47+0300\n"
"Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n" "Last-Translator: Victor Ananjevsky <ananasik@gmail.com>\n"
"Language-Team: \n" "Language-Team: \n"
...@@ -45,7 +45,7 @@ msgstr "" ...@@ -45,7 +45,7 @@ msgstr ""
"Вбудована підтримка GtkSpell\n" "Вбудована підтримка GtkSpell\n"
"Використовується GTK+ %d.%d.%d\n" "Використовується GTK+ %d.%d.%d\n"
#: ../src/calendar.c:39 ../src/text.c:585 #: ../src/calendar.c:39 ../src/text.c:589
#, c-format #, c-format
msgid "Cannot open file '%s': %s\n" msgid "Cannot open file '%s': %s\n"
msgstr "Не можу відкрити файл %s: %s\n" msgstr "Не можу відкрити файл %s: %s\n"
...@@ -70,13 +70,13 @@ msgid "Select files" ...@@ -70,13 +70,13 @@ msgid "Select files"
msgstr "Вибір файлу" msgstr "Вибір файлу"
#: ../src/form.c:458 ../src/form.c:466 ../src/form.c:545 ../src/form.c:553 #: ../src/form.c:458 ../src/form.c:466 ../src/form.c:545 ../src/form.c:553
#: ../src/form.c:604 ../src/html.c:175 ../src/html.c:207 ../src/text.c:160 #: ../src/form.c:604 ../src/html.c:174 ../src/html.c:207 ../src/text.c:162
#: ../src/text.c:225 ../src/util.c:40 #: ../src/text.c:227 ../src/util.c:40
msgid "Cancel" msgid "Cancel"
msgstr "Відміна" msgstr "Відміна"
#: ../src/form.c:459 ../src/form.c:467 ../src/form.c:546 ../src/form.c:554 #: ../src/form.c:459 ../src/form.c:467 ../src/form.c:546 ../src/form.c:554
#: ../src/form.c:605 ../src/html.c:174 ../src/text.c:161 ../src/text.c:226 #: ../src/form.c:605 ../src/html.c:175 ../src/text.c:163 ../src/text.c:228
#: ../src/util.c:46 #: ../src/util.c:46
msgid "OK" msgid "OK"
msgstr "OK" msgstr "OK"
...@@ -109,7 +109,7 @@ msgstr "Вибір каталогу" ...@@ -109,7 +109,7 @@ msgstr "Вибір каталогу"
msgid "Link" msgid "Link"
msgstr "Посилання" msgstr "Посилання"
#: ../src/html.c:171 ../src/text.c:157 ../src/text.c:222 #: ../src/html.c:171 ../src/text.c:159 ../src/text.c:224
msgid "YAD - Select File" msgid "YAD - Select File"
msgstr "YAD - Вибір файлу" msgstr "YAD - Вибір файлу"
...@@ -1921,23 +1921,23 @@ msgstr "Колір" ...@@ -1921,23 +1921,23 @@ msgstr "Колір"
msgid "Name" msgid "Name"
msgstr "Назва" msgstr "Назва"
#: ../src/text.c:278 #: ../src/text.c:280
msgid "Save _as..." msgid "Save _as..."
msgstr "Зберегти _як..." msgstr "Зберегти _як..."
#: ../src/text.c:283 #: ../src/text.c:285
msgid "_Save" msgid "_Save"
msgstr "_Зберегти" msgstr "_Зберегти"
#: ../src/text.c:292 #: ../src/text.c:294
msgid "_Open..." msgid "_Open..."
msgstr "_Відкрити..." msgstr "_Відкрити..."
#: ../src/text.c:302 #: ../src/text.c:304
msgid "_Quit" msgid "_Quit"
msgstr "В_ихід" msgstr "В_ихід"
#: ../src/text.c:723 #: ../src/text.c:730
#, c-format #, c-format
msgid "Theme %s not found\n" msgid "Theme %s not found\n"
msgstr "Теми %s не знайдено\n" msgstr "Теми %s не знайдено\n"
...@@ -2007,6 +2007,10 @@ msgstr "Так" ...@@ -2007,6 +2007,10 @@ msgstr "Так"
msgid "WARNING: Run command failed: %s\n" msgid "WARNING: Run command failed: %s\n"
msgstr "УВАГА: Збій при запуску команди: %s\n" msgstr "УВАГА: Збій при запуску команди: %s\n"
#: ../src/util.c:860
msgid "Case _sensitive"
msgstr "Враховувати _регістр"
#: ../src/browser.c:160 #: ../src/browser.c:160
msgid "scalable " msgid "scalable "
msgstr "масштабований " msgstr "масштабований "
......
...@@ -44,6 +44,9 @@ GSettings *sv_settings; ...@@ -44,6 +44,9 @@ GSettings *sv_settings;
GdkPixbuf *big_fallback_image = NULL; GdkPixbuf *big_fallback_image = NULL;
GdkPixbuf *small_fallback_image = NULL; GdkPixbuf *small_fallback_image = NULL;
/* global flag for temporary disable ESC handling (needed for searchbar) */
gboolean ignore_esc = FALSE;
static GtkWidget *dialog = NULL; static GtkWidget *dialog = NULL;
static GtkWidget *text = NULL; static GtkWidget *text = NULL;
...@@ -82,11 +85,15 @@ keys_cb (GtkWidget *w, GdkEventKey *ev, gpointer d) ...@@ -82,11 +85,15 @@ keys_cb (GtkWidget *w, GdkEventKey *ev, gpointer d)
switch (ev->keyval) switch (ev->keyval)
{ {
case GDK_KEY_Escape: case GDK_KEY_Escape:
if (!ignore_esc)
{
if (options.data.escape_ok) if (options.data.escape_ok)
yad_exit (options.data.def_resp); yad_exit (options.data.def_resp);
else if (!options.data.no_escape) else if (!options.data.no_escape)
yad_exit (YAD_RESPONSE_ESC); yad_exit (YAD_RESPONSE_ESC);
return TRUE; return TRUE;
}
break;
case GDK_KEY_Return: case GDK_KEY_Return:
case GDK_KEY_KP_Enter: case GDK_KEY_KP_Enter:
if (ev->state & GDK_CONTROL_MASK) if (ev->state & GDK_CONTROL_MASK)
...@@ -94,7 +101,9 @@ keys_cb (GtkWidget *w, GdkEventKey *ev, gpointer d) ...@@ -94,7 +101,9 @@ keys_cb (GtkWidget *w, GdkEventKey *ev, gpointer d)
yad_exit (options.data.def_resp); yad_exit (options.data.def_resp);
return TRUE; return TRUE;
} }
break;
} }
return FALSE; return FALSE;
} }
......
...@@ -823,3 +823,53 @@ open_uri (const gchar *uri) ...@@ -823,3 +823,53 @@ open_uri (const gchar *uri)
run_command_async (cmdline); run_command_async (cmdline);
g_free (cmdline); g_free (cmdline);
} }
static void
case_toggle_cb (GtkToggleButton *b, YadSearchBar *sb)
{
sb->case_sensitive = !sb->case_sensitive;
gtk_toggle_button_set_active (b, sb->case_sensitive);
}
YadSearchBar *
create_search_bar ()
{
YadSearchBar *sb;
GtkWidget *b;
sb = g_new0 (YadSearchBar, 1);
sb->new_search = TRUE;
if (!sb)
return NULL;
sb->bar = gtk_search_bar_new ();
gtk_search_bar_set_show_close_button (GTK_SEARCH_BAR (sb->bar), TRUE);
gtk_widget_show (sb->bar);
b = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2);
gtk_container_add (GTK_CONTAINER (sb->bar), b);
gtk_widget_show (b);
sb->entry = gtk_search_entry_new ();
gtk_box_pack_start (GTK_BOX (b), sb->entry, TRUE, TRUE, 0);
gtk_search_bar_connect_entry (GTK_SEARCH_BAR (sb->bar), GTK_ENTRY (sb->entry));
gtk_widget_show (sb->bar);
sb->next = gtk_button_new_from_icon_name ("go-down", GTK_ICON_SIZE_BUTTON);
gtk_box_pack_start (GTK_BOX (b), sb->next, FALSE, FALSE, 0);
gtk_widget_show (sb->next);
sb->prev = gtk_button_new_from_icon_name ("go-up", GTK_ICON_SIZE_BUTTON);
gtk_box_pack_start (GTK_BOX (b), sb->prev, FALSE, FALSE, 0);
gtk_widget_show (sb->prev);
sb->case_toggle = gtk_check_button_new_with_mnemonic (_("Case _sensitive"));
gtk_box_pack_start (GTK_BOX (b), sb->case_toggle, FALSE, FALSE, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sb->case_toggle), sb->case_sensitive);
gtk_widget_show (sb->case_toggle);
g_signal_connect (G_OBJECT (sb->case_toggle), "toggled", G_CALLBACK (case_toggle_cb), sb);
return sb;
}
...@@ -586,6 +586,18 @@ typedef struct { ...@@ -586,6 +586,18 @@ typedef struct {
#endif #endif
} YadOptions; } YadOptions;
/* Searvh bar */
typedef struct {
GtkWidget *bar;
GtkWidget *entry;
GtkWidget *next;
GtkWidget *prev;
GtkWidget *case_toggle;
gboolean case_sensitive;
gboolean new_search;
const gchar *str;
} YadSearchBar;
extern YadOptions options; extern YadOptions options;
extern GtkIconTheme *yad_icon_theme; extern GtkIconTheme *yad_icon_theme;
...@@ -597,6 +609,8 @@ extern GSettings *sv_settings; ...@@ -597,6 +609,8 @@ extern GSettings *sv_settings;
extern GdkPixbuf *big_fallback_image; extern GdkPixbuf *big_fallback_image;
extern GdkPixbuf *small_fallback_image; extern GdkPixbuf *small_fallback_image;
extern gboolean ignore_esc;
/* TABS */ /* TABS */
typedef struct { typedef struct {
pid_t pid; pid_t pid;
...@@ -710,6 +724,8 @@ gchar * pango_to_css (gchar *font); ...@@ -710,6 +724,8 @@ gchar * pango_to_css (gchar *font);
void open_uri (const gchar *uri); void open_uri (const gchar *uri);
YadSearchBar * create_search_bar ();
static inline void static inline void
strip_new_line (gchar * str) strip_new_line (gchar * str)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment