90 lines
2.8 KiB
C
90 lines
2.8 KiB
C
#ifndef MAINWINDOW_H
|
|
#define MAINWINDOW_H
|
|
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <gtk/gtk.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;
|
|
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 */
|