diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:39:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:39:48 +0000 |
commit | 3ade071f273aaa973e44bf95d6b1d4913a18f03b (patch) | |
tree | e2f99d267ae18427645404f215b984afbe73098d /src/nautilus-window.h | |
parent | Initial commit. (diff) | |
download | nautilus-3ade071f273aaa973e44bf95d6b1d4913a18f03b.tar.xz nautilus-3ade071f273aaa973e44bf95d6b1d4913a18f03b.zip |
Adding upstream version 43.2.upstream/43.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | src/nautilus-window.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/src/nautilus-window.h b/src/nautilus-window.h new file mode 100644 index 0000000..2f7add9 --- /dev/null +++ b/src/nautilus-window.h @@ -0,0 +1,121 @@ + +/* + * Nautilus + * + * Copyright (C) 1999, 2000 Red Hat, Inc. + * Copyright (C) 1999, 2000, 2001 Eazel, Inc. + * + * Nautilus is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * Nautilus is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + * + * Authors: Elliot Lee <sopwith@redhat.com> + * Darin Adler <darin@bentspoon.com> + * + */ +/* nautilus-window.h: Interface of the main window object */ + +#pragma once + +#include <gtk/gtk.h> +#include <libadwaita-1/adwaita.h> + +#include "nautilus-types.h" + +G_BEGIN_DECLS + +#define NAUTILUS_TYPE_WINDOW (nautilus_window_get_type ()) +G_DECLARE_FINAL_TYPE (NautilusWindow, nautilus_window, NAUTILUS, WINDOW, AdwApplicationWindow); + +typedef gboolean (* NautilusWindowGoToCallback) (NautilusWindow *window, + GFile *location, + GError *error, + gpointer user_data); + +typedef void (* NautilusWindowHandleExported) (NautilusWindow *window, + const char *handle, + guint xid, + gpointer user_data); + +/* window geometry */ +/* Min values are very small, and a Nautilus window at this tiny size is *almost* + * completely unusable. However, if all the extra bits (sidebar, location bar, etc) + * are turned off, you can see an icon or two at this size. See bug 5946. + */ + +#define NAUTILUS_WINDOW_MIN_WIDTH 200 +#define NAUTILUS_WINDOW_MIN_HEIGHT 200 +#define NAUTILUS_WINDOW_DEFAULT_WIDTH 890 +#define NAUTILUS_WINDOW_DEFAULT_HEIGHT 550 + +typedef enum +{ + NAUTILUS_NAVIGATION_DIRECTION_NONE, + NAUTILUS_NAVIGATION_DIRECTION_BACK, + NAUTILUS_NAVIGATION_DIRECTION_FORWARD +} NautilusNavigationDirection; + +NautilusWindow * nautilus_window_new (void); +void nautilus_window_close (NautilusWindow *window); + +void nautilus_window_open_location_full (NautilusWindow *window, + GFile *location, + NautilusOpenFlags flags, + GList *selection, + NautilusWindowSlot *target_slot); + +void nautilus_window_new_tab (NautilusWindow *window); +NautilusWindowSlot * nautilus_window_get_active_slot (NautilusWindow *window); +void nautilus_window_set_active_slot (NautilusWindow *window, + NautilusWindowSlot *slot); +GList * nautilus_window_get_slots (NautilusWindow *window); +void nautilus_window_slot_close (NautilusWindow *window, + NautilusWindowSlot *slot); + +void nautilus_window_sync_location_widgets (NautilusWindow *window); + +void nautilus_window_reset_menus (NautilusWindow *window); + +AdwTabView * nautilus_window_get_tab_view (NautilusWindow *window); + +void nautilus_window_show_about_dialog (NautilusWindow *window); + +GtkWidget *nautilus_window_get_toolbar (NautilusWindow *window); + +/* sync window GUI with current slot. Used when changing slots, + * and when updating the slot state. + */ +void nautilus_window_sync_allow_stop (NautilusWindow *window, + NautilusWindowSlot *slot); +void nautilus_window_sync_title (NautilusWindow *window, + NautilusWindowSlot *slot); + +void nautilus_window_show_operation_notification (NautilusWindow *window, + gchar *main_label, + GFile *folder_to_open); + +void nautilus_window_search (NautilusWindow *window, + NautilusQuery *query); + +void nautilus_window_initialize_slot (NautilusWindow *window, + NautilusWindowSlot *slot, + NautilusOpenFlags flags); + +gboolean nautilus_window_export_handle (NautilusWindow *window, + NautilusWindowHandleExported callback, + gpointer user_data); +void nautilus_window_unexport_handle (NautilusWindow *window); + +void nautilus_window_back_or_forward_in_new_tab (NautilusWindow *window, + NautilusNavigationDirection back); + +G_END_DECLS |