summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README2
-rw-r--r--litosaccels.c4
-rw-r--r--litosappwin.c11
-rw-r--r--litosfile.c70
-rw-r--r--page.h2
5 files changed, 52 insertions, 37 deletions
diff --git a/README b/README
index 9d0e222..de20a03 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-# litos v. 4.0.0
+# litos v. 4.1.0
**litos** aims to be an easy-to-use and fast editor. My target is an editor for quickly editing HTML files, providing shortcuts for inserting HTML tags. I try to use the latest GTK features available, which means that if GTK adds something new in a major release that is useful for the editor, I will likely bump the GTK dependency and integrate this new feature in **litos**.
diff --git a/litosaccels.c b/litosaccels.c
index 2343f0b..db7126c 100644
--- a/litosaccels.c
+++ b/litosaccels.c
@@ -105,10 +105,10 @@ open_tmpl_cb (GtkWidget *dialog, gint response, gpointer window)
LitosAppWindow *win = LITOS_APP_WINDOW(window);
- if (gfile != NULL)
+ if (gfile != NULL) /*gfile could be NULL in maybe some (unknown) edge case so you check gfile != NULL just in case so that it doesn't cause some error/crash */
{
LitosFile * file = litos_app_window_open(win, gfile);
- litos_file_reset_gfile(file);
+ litos_file_reset_gfile(file); /*we don't want to save over the template but on a new file */
}
}
diff --git a/litosappwin.c b/litosappwin.c
index b1ee51c..32b421d 100644
--- a/litosappwin.c
+++ b/litosappwin.c
@@ -221,6 +221,16 @@ replace_btn_clicked (GtkButton *button, gpointer userData)
if (stringToSearch == NULL || replaceString == NULL)
return;
+
+ GtkSourceSearchSettings *settings = gtk_source_search_settings_new ();
+
+ if (gtk_check_button_get_active(GTK_CHECK_BUTTON(win->btn_check_case)))
+ gtk_source_search_settings_set_case_sensitive (settings, TRUE);
+
+ else
+ gtk_source_search_settings_set_case_sensitive (settings, FALSE);
+
+ gtk_source_search_settings_set_search_text (settings, stringToSearch);
/* Search and Highlight replaced string */
@@ -319,6 +329,7 @@ void set_search_entry(LitosAppWindow *win)
void Esc(LitosAppWindow *win)
{
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(LITOS_APP_WINDOW(win)->btn_find_icon), FALSE);
+ gtk_editable_set_text(GTK_EDITABLE(win->search_entry),"");
}
void ctrl_f(LitosAppWindow *win)
diff --git a/litosfile.c b/litosfile.c
index f63f962..29aea29 100644
--- a/litosfile.c
+++ b/litosfile.c
@@ -75,6 +75,20 @@ litos_file_dispose (GObject *object)
g_signal_handlers_disconnect_by_func(file->buffer, _buffer_monitor_change, file);
g_free (file->name);
+
+ g_clear_object(&file->gfile);
+
+ g_clear_object(&file->scrolled);
+
+ g_clear_object(&file->tabbox);
+
+ g_clear_object(&file->close_btn_box);
+
+ g_clear_object(&file->view);
+
+ g_clear_object(&file->lbl);
+
+ g_clear_object(&file->buffer);
G_OBJECT_CLASS (litos_file_parent_class)->dispose (object);
}
@@ -149,20 +163,16 @@ LitosFile *litos_file_new()
GtkWidget * litos_file_get_lbl(LitosFile *file)
{
- g_object_ref(file->lbl);
return file->lbl;
}
GtkWidget * litos_file_get_view(LitosFile *file)
{
- g_object_ref(file->view);
return file->view;
}
GFile *litos_file_get_gfile(LitosFile* file)
{
-// GFile doesn't seem to be a Gobject
-// g_object_ref(file->gfile);
return file->gfile;
}
@@ -173,7 +183,6 @@ gchar *litos_file_get_name(LitosFile *file)
GtkTextBuffer *litos_file_get_buffer(LitosFile *file)
{
- g_object_ref(file->buffer);
return file->buffer;
}
@@ -184,13 +193,11 @@ gboolean litos_file_get_saved(LitosFile *file)
void litos_file_reset_gfile(LitosFile *file)
{
- g_object_ref(file->gfile);
- file->gfile = NULL;
+ g_clear_object(&file->gfile);
}
GtkWidget * litos_file_get_tabbox(LitosFile *file)
{
- g_object_ref(file->tabbox);
return file->tabbox;
}
@@ -209,30 +216,31 @@ LitosFile * litos_file_set(struct Page *page)
{
LitosFile *file = litos_file_new();
-// g_object_ref(page->gf); //GFile doesn't seem to be a gobject
- file->gfile = page->gf;
-
- /* gchar isn't a Gobject */
- file->name = page->name;
-
- g_object_ref(page->scrolled);
- file->scrolled = page->scrolled;
-
- g_object_ref(page->tabbox);
- file->tabbox = page->tabbox;
+ if (page->gf != NULL)
+ g_object_ref(page->gf);
+ file->gfile = page->gf;
+
+ file->name = page->name;
+
+ g_object_ref(page->scrolled);
+ file->scrolled = page->scrolled;
+
+ g_object_ref(page->tabbox);
+ file->tabbox = page->tabbox;
+
g_object_ref(page->close_btn_box);
- file->close_btn_box = page->close_btn_box;
-
+ file->close_btn_box = page->close_btn_box;
+
g_object_ref(page->view);
- file->view = page->view;
-
+ file->view = page->view;
+
g_object_ref(page->lbl);
- file->lbl = page->lbl;
-
- g_object_ref(page->buffer);
- file->buffer = page->buffer;
-
+ file->lbl = page->lbl;
+
+ g_object_ref(page->buffer);
+ file->buffer = page->buffer;
+
g_signal_connect (file->buffer, "notify::text", G_CALLBACK (_buffer_monitor_change), file);
return file;
@@ -315,11 +323,7 @@ gboolean litos_file_save(LitosFile *file, GError *error)
void litos_file_save_as(LitosFile* file, GFile *new_file)
{
-// gfile doesn't seem to be a gobject
-// if (new_file != NULL)
-// g_object_ref(new_file);
-
- file->gfile = new_file;
+ g_set_object(&file->gfile, new_file);
g_free (file->name);
diff --git a/page.h b/page.h
index 5373d45..98ef8df 100644
--- a/page.h
+++ b/page.h
@@ -4,7 +4,7 @@ struct Page
GtkWidget *close_btn_box;
GtkWidget *scrolled;
GtkTextBuffer *buffer;
- gchar *name;
+ char *name;
GFile *gf;
GtkWidget *view;
GtkWidget *lbl;