diff --git a/glade/mainWindow.glade b/glade/mainWindow.glade index b285885..3542ede 100644 --- a/glade/mainWindow.glade +++ b/glade/mainWindow.glade @@ -52,8 +52,8 @@ True True + 10 10 - 0000-00-00 True @@ -77,8 +77,8 @@ True True + 10 10 - 0000-00-00 True diff --git a/src/mainwindow.c b/src/mainwindow.c index 7efcd18..f1b3a0b 100644 --- a/src/mainwindow.c +++ b/src/mainwindow.c @@ -347,6 +347,12 @@ struct mainWindow *mainWindow_new() mainWindow_configure_treeView(mainWindow); mainWindow_connect_signals(mainWindow); + /** + * These need to be set to oldest and newest after indexing date + */ + gtk_entry_set_text(mainWindow->dateStart, "2016-01-01"); + gtk_entry_set_text(mainWindow->dateEnd, "2017-01-01"); + return mainWindow; } @@ -356,10 +362,27 @@ void mainWindow_chooseWorkspaceClicked(GtkWidget *widget, gint event, gpointer u fflush(stdout); } -void mainWindow_showPopover(GtkWidget *widget, GdkEvent *event, gpointer user_data) +void mainWindow_showPopover(GtkWidget *widget, GdkEvent *event, gpointer user_data) { struct mainWindow *mainWindow = (struct mainWindow *)user_data; + GDateTime *datetime; + + mainWindow->selectedDateEntry = NULL; + + datetime = g_date_time_new_from_unix_local((widget == mainWindow->dateStart + ? mainWindow->filterSettings.time_start + : mainWindow->filterSettings.time_end)); + if (datetime) { + gtk_calendar_select_month(GTK_CALENDAR(mainWindow->calendarRange), + g_date_time_get_month(datetime) - 1, + g_date_time_get_year(datetime)); + gtk_calendar_select_day(GTK_CALENDAR(mainWindow->calendarRange), + g_date_time_get_day_of_month(datetime)); + g_date_time_unref(datetime); + } + + /* gtk_editable_select_region(GTK_EDITABLE(widget), 0, 255); */ mainWindow->selectedDateEntry = widget; if (!gtk_widget_get_visible(mainWindow->popoverDate)) @@ -373,10 +396,12 @@ void mainWindow_calendarSelected(GtkWidget *widget, gpointer user_data) guint year, month, day; gchar *text; - gtk_calendar_get_date(GTK_CALENDAR(mainWindow->calendarRange), &year, &month, &day); - text = g_strdup_printf("%d-%02d-%02d", year, month, day); - gtk_entry_set_text(GTK_ENTRY(mainWindow->selectedDateEntry), text); - g_free(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_entry_set_text(GTK_ENTRY(mainWindow->selectedDateEntry), text); + g_free(text); + } } void mainWindow_entrySelected(GtkWidget *widget, gpointer user_data)