mdiary/src/mainwindow.h

93 lines
2.8 KiB
C

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <webkit2/webkit2.h>
#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 *popoverDate;
GtkWidget *calendarRange;
GtkWidget *checkSearchTitle;
GtkWidget *checkSearchSummary;
GtkWidget *checkSearchTags;
GtkWidget *checkSearchText;
GtkWidget *labelSummary;
GtkWidget *buttonClearSearch;
GtkWidget *headerBar;
GtkWidget *labelDateToDate;
GtkWidget *buttonDecrypt;
GtkWidget *webkitView;
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);
#endif /* MAINWINDOW_H */