diff options
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | litosaccels.c | 4 | ||||
-rw-r--r-- | litosappwin.c | 11 | ||||
-rw-r--r-- | litosfile.c | 70 | ||||
-rw-r--r-- | page.h | 2 |
5 files changed, 52 insertions, 37 deletions
@@ -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); @@ -4,7 +4,7 @@ struct Page GtkWidget *close_btn_box; GtkWidget *scrolled; GtkTextBuffer *buffer; - gchar *name; + char *name; GFile *gf; GtkWidget *view; GtkWidget *lbl; |