summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcadmio <gioresta87@gmail.com>2023-11-19 17:14:07 +0100
committerDiffieHellman <DiffieHellman@endianness.com>2023-11-20 21:53:05 +1100
commit909c8b2b74d0f335ee3bd60acabf4e8697c2ce18 (patch)
tree8a5ef7cc73afe2b099b9b260d45c1a5e8055e248
parent60a425f39f2cf738e081ab4d14d9c4858d1023df (diff)
downloadlitos4-909c8b2b74d0f335ee3bd60acabf4e8697c2ce18.tar.gz
litos4-909c8b2b74d0f335ee3bd60acabf4e8697c2ce18.tar.bz2
litos4-909c8b2b74d0f335ee3bd60acabf4e8697c2ce18.zip
update all
-rw-r--r--diffierepo39
-rw-r--r--diffierepo.pub1
-rw-r--r--litosaccels.c81
-rw-r--r--litosappwin.c37
4 files changed, 135 insertions, 23 deletions
diff --git a/diffierepo b/diffierepo
new file mode 100644
index 0000000..7d3304f
--- /dev/null
+++ b/diffierepo
@@ -0,0 +1,39 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+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
+PfQcwtMuuNv39LdojMHRD8wVhDY=
+-----END OPENSSH PRIVATE KEY-----
diff --git a/diffierepo.pub b/diffierepo.pub
new file mode 100644
index 0000000..6165038
--- /dev/null
+++ b/diffierepo.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCtT07z7DeFwWiSG9lVPFQ1PPCbwW0YVQOVU9qGMOg1SML8+gSmfLu+vrcB43xdN2YdH80A5HuhME5pw7xl8ZA/sGhCjGczoMDj0teH7NYsMUVclPVLyjp1k/c2PmCCMZGNV1sgrWCbd3zlY4Xt+xMYynqnFTGROPkX26T48Myg+8uJjBT00wjE0vY8GQWS6AlLQRotNodYBLT15zZCaesLowVetIAb5UY61CrJCvw2tTT1MWtOrLFRrgZ4AI+i+/uxV+mNjl+G7jyDyYmXc5ZERkZgPqC+8YT9CQGfRjuyyyhMZv8Rc6XTsk0Etm908Je8calSsjD0MTsMUkBELuiYcNRX/jAHr22oD/htByBXOUy7WVeqg/Gs804pBBDBhNNgJ6oPVkjwKRFpj/py4SEO/TV/fi10lPR3Obgr3++yMhIjZamS1ewFieI4a3OWQRDpIHzy2zfhmK77ujnFCx440Yt6gaXy2jboElxyAYiuVt3/Th3rPdK45CldAaFv5wk= cadmio@debian
diff --git a/litosaccels.c b/litosaccels.c
index 987e125..180ef5f 100644
--- a/litosaccels.c
+++ b/litosaccels.c
@@ -260,6 +260,41 @@ insertHtmlTags (GSimpleAction *action, GVariant *parameter, gpointer app)
g_free(tag);
}
+static void
+find_selection (GSimpleAction *action, GVariant *parameter, gpointer app)
+{
+ /*
+ GtkWindow *window = gtk_application_get_active_window (GTK_APPLICATION (app));
+
+ LitosAppWindow *win = LITOS_APP_WINDOW(window);
+
+ LitosFile *file = litos_app_window_current_file(win);
+
+ GtkTextBuffer *buffer = litos_file_get_buffer(file);
+
+ const char *stringToSearch = NULL;
+
+ GtkTextIter start, end;
+
+ GtkTextBuffer *buffer = get_current_buffer(litos);
+
+ if (gtk_text_buffer_get_selection_bounds(buffer, &start, &end))
+ {
+ stringToSearch = gtk_text_buffer_get_text (buffer,
+ &start,
+ &end,
+ FALSE);
+
+ gtk_entry_set_text(GTK_ENTRY(search_entry), gtk_text_iter_get_text (&start, &end));
+ }
+
+ else
+ stringToSearch = gtk_entry_get_text(GTK_ENTRY(search_entry));
+
+ if (stringToSearch == NULL || *stringToSearch == '\0')
+ return;*/
+}
+
void setAccels (GApplication *app)
{
long unsigned int i;
@@ -275,6 +310,7 @@ void setAccels (GApplication *app)
{"save", save, NULL, NULL, NULL, {0,0,0}},
{"save_as", save_as_dialog, NULL, NULL, NULL, {0,0,0}},
{"close", close_activated, NULL, NULL, NULL},
+ {"find", find_selection, NULL, NULL, NULL, {0,0,0}},
{"quit", quit_activated, NULL, NULL, NULL }
};
@@ -283,28 +319,29 @@ void setAccels (GApplication *app)
const gchar *action;
const gchar *accels[2];
} action_accels[] = {
- { "app.open", { "<Control>o", NULL} },
- { "app.new", { "<Control>n", NULL} },
- { "app.save", { "<Control>s", NULL} },
- { "app.save_as", { "<Shift><Control>s", NULL} },
- { "app.close", { "<Control>w", NULL} },
- { "app.quit", { "<Control>q", NULL} },
- { "app.insert_html(\"<b>%s</b>\")", { "<Control>b", NULL} },
- { "app.insert_html(\"<i>%s</i>\")", { "<Control>i", NULL} },
- { "app.insert_html(\"<h2>%s</h2>\")", { "<Control>2", NULL} },
- { "app.insert_html(\"<h3>%s</h3>\")", { "<Control>3", NULL} },
- { "app.insert_html('<a href=\"this.html\">%s</a>')", { "<Control>h", NULL} },
- { "app.insert_html(\"<p>%s</p>\")", { "<Control>p", NULL} },
- { "app.insert_html(\"<li>%s</li>\")", { "<Control>l", NULL} },
- { "app.insert_html(\"<sup>%s</sup>\")", { "<Control>e", NULL} },
- { "app.insert_html(\"<sub>%s</sub>\")", { "<Control>u", NULL} },
- { "app.insert_char('<div class=\"eq\">\n<p>this</p>\n</div>\')", { "<Control>g", NULL} },
- { "app.insert_char(\"−\")", { "<Control>m", NULL} },
- { "app.insert_char(\"⋅\")", { "<Control>d", NULL} },
- { "app.insert_char(\"⟶⟼⇒\")", { "<Control>y", NULL} },
- { "app.insert_char(\"⇌⟵⇐\")", { "<Control><Shift>y", NULL} },
- { "app.insert_char(\"<br>\")", { "<Control>r", NULL} },
- { "app.insert_char(\"&emsp;■□\")", { "<Control>t", NULL} },
+ { "app.open", { "<Control>o", NULL} },
+ { "app.new", { "<Control>n", NULL} },
+ { "app.save", { "<Control>s", NULL} },
+ { "app.save_as", { "<Shift><Control>s", NULL} },
+ { "app.close", { "<Control>w", NULL} },
+ { "app.quit", { "<Control>q", NULL} },
+ { "app.find", { "<Control>f", NULL} },
+ { "app.insert_html(\"<b>%s</b>\")", { "<Control>b", NULL} },
+ { "app.insert_html(\"<i>%s</i>\")", { "<Control>i", NULL} },
+ { "app.insert_html(\"<h2>%s</h2>\")", { "<Control>2", NULL} },
+ { "app.insert_html(\"<h3>%s</h3>\")", { "<Control>3", NULL} },
+ { "app.insert_html('<a href=\"this.html\">%s</a>')", { "<Control>h", NULL} },
+ { "app.insert_html(\"<p>%s</p>\")", { "<Control>p", NULL} },
+ { "app.insert_html(\"<li>%s</li>\")", { "<Control>l", NULL} },
+ { "app.insert_html(\"<sup>%s</sup>\")", { "<Control>e", NULL} },
+ { "app.insert_html(\"<sub>%s</sub>\")", { "<Control>u", NULL} },
+ { "app.insert_char('<div class=\"eq\">\n<p>this</p>\n</div>\')", { "<Control>g", NULL} },
+ { "app.insert_char(\"−\")", { "<Control>m", NULL} },
+ { "app.insert_char(\"⋅\")", { "<Control>d", NULL} },
+ { "app.insert_char(\"⟶⟼⇒\")", { "<Control>y", NULL} },
+ { "app.insert_char(\"⇌⟵⇐\")", { "<Control><Shift>y", NULL} },
+ { "app.insert_char(\"<br>\")", { "<Control>r", NULL} },
+ { "app.insert_char(\"&emsp;■□\")", { "<Control>t", NULL} },
};
g_action_map_add_action_entries(G_ACTION_MAP(app), app_entries, G_N_ELEMENTS(app_entries), app);
diff --git a/litosappwin.c b/litosappwin.c
index becc8b9..d38a5de 100644
--- a/litosappwin.c
+++ b/litosappwin.c
@@ -113,13 +113,47 @@ GtkSourceView* currentTabSourceView(LitosAppWindow *win)
}
static void
+prev_match(GtkWidget *close_btn, gpointer user_data)
+{
+ LitosAppWindow *win = LITOS_APP_WINDOW(user_data);
+
+ if (win->search_context != NULL)
+ {
+ GtkTextMark* mark;
+ GtkSourceBuffer *buffer;
+ GtkTextIter start, match_start, match_end;
+
+ GtkSourceView *view = currentTabSourceView(win);
+
+ buffer = gtk_source_search_context_get_buffer (win->search_context);
+
+ gtk_text_buffer_get_selection_bounds (GTK_TEXT_BUFFER (buffer),
+ &match_start,
+ &start);
+
+ if (gtk_source_search_context_backward (win->search_context, &start, &match_start, &match_end, NULL))
+ {
+ GtkSourceView *source_view = currentTabSourceView(win);
+
+ mark = gtk_text_buffer_get_insert(GTK_TEXT_BUFFER(buffer));
+
+ SCROLL_TO_MARK
+
+ gtk_text_buffer_select_range (GTK_TEXT_BUFFER (buffer), &match_start, &match_end);
+
+ SCROLL_TO_MARK
+ }
+ }
+}
+
+static void
next_match(GtkWidget *close_btn, gpointer user_data)
{
LitosAppWindow *win = LITOS_APP_WINDOW(user_data);
if (win->search_context != NULL)
{
- GtkTextMark* mark = NULL;
+ GtkTextMark* mark;
GtkSourceBuffer *buffer;
GtkTextIter start, match_start, match_end;
@@ -447,6 +481,7 @@ litos_app_window_init (LitosAppWindow *win)
litos_app_window_update_font();
g_signal_connect (GTK_WINDOW(win), "close-request", G_CALLBACK (litos_app_window_quit), win);
+ g_signal_connect (win->next_button, "clicked", G_CALLBACK(prev_match), win);
g_signal_connect (win->next_button, "clicked", G_CALLBACK(next_match), win);
g_signal_connect (win->search, "clicked", G_CALLBACK(search_btn_clicked), win);