#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include "mdiary.h" #define FILE_LIST_MAX_LEN 5 enum { WSCOL_LABEL = 0, WSCOL_PATH, WSCOL_COUNT }; struct mainWindow { GtkWidget *mainWindow; GtkWidget *mainPane; GtkWidget *searchEntry; GtkWidget *dateStart; GtkWidget *dateEnd; GtkWidget *entryText; GtkWidget *entryTextScrollArea; GtkWidget *popoverDate; GtkWidget *calendarRange; GtkWidget *checkSearchTitle; GtkWidget *checkSearchSummary; GtkWidget *checkSearchTags; GtkWidget *checkSearchText; GtkWidget *labelSummary; GtkWidget *buttonClearSearch; GtkWidget *headerBar; GtkWidget *labelDateToDate; GtkWidget *buttonDecrypt; GtkWidget *webkitView; GtkWidget *webkitScrollArea; GtkWidget *stackRenderMode; GtkTreeView *entryListView; GtkTreeSelection *entryListSelection; GtkTextBuffer *textBuffer; GtkEntryCompletion *searchEntryCompletion; GtkListStore *completionListStore; GtkListStore *entryListStore; GtkWidget *selectedDateEntry; GtkTreeModelFilter *entryListFiltered; gint64 time_earliest; gint64 time_latest; struct filterSettings { gint64 time_start; gint64 time_end; gboolean search_title; gboolean search_tags; gboolean search_summary; gboolean search_text; gboolean hide_all; } filterSettings; GtkWidget *buttonOtherWorkspace; GtkWidget *workspaceSearch; GtkWidget *popoverWorkspace; GtkTreeView *workspaceListView; GtkTreeSelection *workspaceListSelection; GtkListStore *workspaceListStore; GtkTreeModelFilter *workspaceListFiltered; }; struct mainWindow *mainWindow_new(); void mainWindow_set_meta_information(struct mainWindow *mainWindow, guint time_earliest, guint time_latest, gboolean hide_all); void mainWindow_showPopover(GtkWidget *widget, GdkEvent *event, gpointer user_data); void mainWindow_otherWorkspaceClicked(GtkWidget *widget, gpointer user_data); void mainWindow_workspaceListClicked(GtkWidget *widget, GtkTreePath *tree_path, GtkTreeViewColumn *column, gpointer user_data); void mainWindow_clearSearch(GtkWidget *widget, gpointer user_data); void mainWindow_calendarSelected(GtkWidget *widget, gpointer user_data); void mainWindow_entrySelected(GtkWidget *widget, gpointer user_data); void mainWindow_filterChanged(GtkWidget *widget, gpointer user_data); void mainWindow_workspace_search_changed(GtkWidget *widget, gpointer user_data); void mainWindow_checkDate(GtkWidget *widget, gint event, gpointer user_data); void mainWindow_dateIconPress(GtkWidget *widget, gint icon_pos, gint event, gpointer user_data); void mainWindow_add_recent_workspace(struct mainWindow *mainWindow, gchar *path, gboolean append); void mainWindow_switch_workspace(struct mainWindow *mainWindow, gchar *path, gboolean gpg_enabled); void mainWindow_decrypt_gpg_clicked(GtkWidget *widget, gpointer user_data); void mainWindow_webkit_set_enabled(struct mainWindow *mainWindow, gboolean state); #endif /* MAINWINDOW_H */