#pragma once

#include "fsearch_database_include_manager.h"
#include "fsearch_database_exclude_manager.h"

#include <glib-object.h>
#include <gtk/gtk.h>

G_BEGIN_DECLS

typedef struct _FsearchPreferencesDialog FsearchPreferencesDialog;

#define FSEARCH_DATABASE_PREFERENCES_WIDGET_TYPE (fsearch_database_preferences_widget_get_type())

G_DECLARE_FINAL_TYPE(FsearchDatabasePreferencesWidget,
                     fsearch_database_preferences_widget,
                     FSEARCH,
                     DATABASE_PREFERENCES_WIDGET,
                     GtkBox)

FsearchDatabasePreferencesWidget *
fsearch_database_preferences_widget_new(FsearchDatabaseIncludeManager *include_manager,
                                        FsearchDatabaseExcludeManager *exclude_manager);

FsearchDatabaseIncludeManager *
fsearch_database_preferences_widget_get_include_manager(FsearchDatabasePreferencesWidget *widget);

FsearchDatabaseExcludeManager *
fsearch_database_preferences_widget_get_exclude_manager(FsearchDatabasePreferencesWidget *widget);

void
fsearch_database_preferences_widget_setup_help(FsearchDatabasePreferencesWidget *self, FsearchPreferencesDialog *dialog);

G_END_DECLS
