diff --git a/glade/mainWindow.glade b/glade/mainWindow.glade
index 10bdfe0..dcb2754 100644
--- a/glade/mainWindow.glade
+++ b/glade/mainWindow.glade
@@ -48,10 +48,12 @@
True
False
-
-
- Title
+
+ Summary
True
True
False
diff --git a/src/mainwindow.c b/src/mainwindow.c
index 0ab6c0c..7e6c65f 100644
--- a/src/mainwindow.c
+++ b/src/mainwindow.c
@@ -41,6 +41,13 @@ static gboolean mainWindow_list_entry_visible(GtkTreeModel *model, GtkTreeIter *
search_matched = 1;
g_free(temp);
+ gtk_tree_model_get(model, iter, COL_SUMMARY, &temp, -1);
+ if (!search_matched &&
+ mainWindow->filterSettings.search_summary &&
+ g_regex_match(regex, temp, 0, &match_info) && g_match_info_matches(match_info))
+ search_matched = 1;
+ g_free(temp);
+
gtk_tree_model_get(model, iter, COL_TEXT, &temp, -1);
if (!search_matched &&
mainWindow->filterSettings.search_text &&
@@ -218,6 +225,10 @@ static void mainWindow_connect_signals(struct mainWindow *mainWindow)
"toggled",
(GCallback) mainWindow_filterChanged,
mainWindow);
+ g_signal_connect(mainWindow->checkSearchSummary,
+ "toggled",
+ (GCallback) mainWindow_filterChanged,
+ mainWindow);
}
/**
@@ -241,6 +252,7 @@ struct mainWindow *mainWindow_new()
mainWindow->popoverDate = GTK_WIDGET(gtk_builder_get_object(builder, "popoverDate"));
mainWindow->calendarRange = GTK_WIDGET(gtk_builder_get_object(builder, "calendarRange"));
mainWindow->checkSearchTitle = GTK_WIDGET(gtk_builder_get_object(builder, "checkSearchTitle"));
+ mainWindow->checkSearchSummary = GTK_WIDGET(gtk_builder_get_object(builder, "checkSearchSummary"));
mainWindow->checkSearchTags = GTK_WIDGET(gtk_builder_get_object(builder, "checkSearchTags"));
mainWindow->checkSearchText = GTK_WIDGET(gtk_builder_get_object(builder, "checkSearchText"));
mainWindow->labelSummary = GTK_WIDGET(gtk_builder_get_object(builder, "labelSummary"));
@@ -259,6 +271,7 @@ struct mainWindow *mainWindow_new()
mainWindow_connect_signals(mainWindow);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mainWindow->checkSearchTitle), 1);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mainWindow->checkSearchSummary), 1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mainWindow->checkSearchTags), 1);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mainWindow->checkSearchText), 0);
@@ -397,12 +410,14 @@ void mainWindow_filterChanged(GtkWidget *widget, gpointer user_data)
}
}
- mainWindow->filterSettings.search_title = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
- mainWindow->checkSearchTitle));
- mainWindow->filterSettings.search_tags = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
- mainWindow->checkSearchTags));
- mainWindow->filterSettings.search_text = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
- mainWindow->checkSearchText));
+ mainWindow->filterSettings.search_title = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(mainWindow->checkSearchTitle));
+ mainWindow->filterSettings.search_tags = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(mainWindow->checkSearchTags));
+ mainWindow->filterSettings.search_text = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(mainWindow->checkSearchText));
+ mainWindow->filterSettings.search_summary = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(mainWindow->checkSearchSummary));
gtk_tree_model_filter_refilter(mainWindow->entryListFiltered);
}
diff --git a/src/mainwindow.h b/src/mainwindow.h
index de0bba3..d1c96f2 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -15,6 +15,7 @@ struct mainWindow {
GtkWidget *popoverDate;
GtkWidget *calendarRange;
GtkWidget *checkSearchTitle;
+ GtkWidget *checkSearchSummary;
GtkWidget *checkSearchTags;
GtkWidget *checkSearchText;
GtkWidget *labelSummary;
@@ -31,6 +32,7 @@ struct mainWindow {
guint time_end;
gboolean search_title;
gboolean search_tags;
+ gboolean search_summary;
gboolean search_text;
} filterSettings;
};