diff --git a/glade/mainWindow.glade b/glade/mainWindow.glade index 3af9833..30323d7 100644 --- a/glade/mainWindow.glade +++ b/glade/mainWindow.glade @@ -209,7 +209,8 @@ True False - to + <a href="">to</a> + True False diff --git a/src/main.c b/src/main.c index 050f6b0..04b4071 100644 --- a/src/main.c +++ b/src/main.c @@ -22,7 +22,7 @@ int main(int argc, char *argv[]) gtk_widget_show(mainWindow->mainWindow); gtk_main(); - mdiary_save_settings(settings_path, settings); + mdiary_save_settings(settings_path, settings); // mdiary_settings_free(settings); g_free(settings_path); diff --git a/src/mainwindow.c b/src/mainwindow.c index 73c6432..2a0ceaa 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -322,6 +322,10 @@ static void mainWindow_connect_signals(struct mainWindow *mainWindow) "focus-in-event", (GCallback) mainWindow_showPopover, mainWindow); + g_signal_connect(mainWindow->labelDateToDate, + "activate-link", + (GCallback) mainWindow_showPopover, + mainWindow); g_signal_connect(mainWindow->calendarRange, "day-selected", (GCallback) mainWindow_calendarSelected, @@ -443,6 +447,7 @@ struct mainWindow *mainWindow_new() mainWindow->labelSummary = GTK_WIDGET(gtk_builder_get_object(builder, "labelSummary")); mainWindow->buttonClearSearch = GTK_WIDGET(gtk_builder_get_object(builder, "buttonClearSearch")); mainWindow->headerBar = GTK_WIDGET(gtk_builder_get_object(builder, "headerBar")); + mainWindow->labelDateToDate = GTK_WIDGET(gtk_builder_get_object(builder, "label_date_to_date")); mainWindow->entryListView = GTK_TREE_VIEW(gtk_builder_get_object(builder, "entryListView")); mainWindow->entryListSelection = GTK_TREE_SELECTION(gtk_builder_get_object(builder, "entryListSelection")); mainWindow->textBuffer = GTK_TEXT_BUFFER(gtk_builder_get_object(builder, "entryTextBuffer")); @@ -538,12 +543,15 @@ void mainWindow_calendarSelected(GtkWidget *widget, gpointer user_data) guint year, month, day; gchar *text; - if (mainWindow->selectedDateEntry) { - gtk_calendar_get_date(GTK_CALENDAR(mainWindow->calendarRange), &year, &month, &day); - text = g_strdup_printf("%d-%02d-%02d", year, month + 1, day); + gtk_calendar_get_date(GTK_CALENDAR(mainWindow->calendarRange), &year, &month, &day); + text = g_strdup_printf("%d-%02d-%02d", year, month + 1, day); + if (mainWindow->selectedDateEntry == mainWindow->labelDateToDate) { + gtk_entry_set_text(GTK_ENTRY(mainWindow->dateStart), text); + gtk_entry_set_text(GTK_ENTRY(mainWindow->dateEnd), text); + } else if (mainWindow->selectedDateEntry) { gtk_entry_set_text(GTK_ENTRY(mainWindow->selectedDateEntry), text); - g_free(text); } + g_free(text); } /** diff --git a/src/mainwindow.h b/src/mainwindow.h index 03c30c1..004fba0 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -30,6 +30,7 @@ struct mainWindow { GtkWidget *labelSummary; GtkWidget *buttonClearSearch; GtkWidget *headerBar; + GtkWidget *labelDateToDate; GtkTreeView *entryListView; GtkTreeSelection *entryListSelection; GtkTextBuffer *textBuffer;