Files
ladybird/UI/Gtk/Widgets/LadybirdBrowserWindow.h
Johan Dahlin 0a00a5d61a UI/Gtk: Add browser window, tabs, menus, and dialogs
Add the complete browser UI:
- BrowserWindow: AdwHeaderBar with navigation, tab management via
  AdwTabView/AdwTabBar, find-in-page, fullscreen, zoom, D-Bus
  single-instance with open/activate handlers
- Tab: WebContentView lifecycle, ViewImplementation callbacks for
  title, URL, favicon, cursor, tooltips, dialogs, window management
- LadybirdBrowserWindow: GtkBuilder template widget with toolbar,
  tab bar, find bar, devtools banner, and hamburger menu
- LadybirdLocationEntry: URL entry with autocomplete, domain
  highlighting, and security icon
- Menu: GAction-based context menus and application menu with
  keyboard accelerators
- Dialogs: JS alert/confirm/prompt (AdwAlertDialog), color picker,
  file picker, select dropdown, download save dialog, toast
- GtkBuilder .ui resources for browser window, location entry
  completions, and list popovers

Updates Application and main.cpp to create browser windows and
handle D-Bus activation from remote instances.
2026-04-17 11:17:56 -04:00

30 lines
1008 B
C++

/*
* Copyright (c) 2026, Johan Dahlin <jdahlin@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <adwaita.h>
struct LadybirdBrowserWindow;
namespace LadybirdWidgets {
LadybirdBrowserWindow* create_browser_window_widget(AdwApplication* app);
AdwHeaderBar* browser_window_header_bar(LadybirdBrowserWindow*);
AdwTabView* browser_window_tab_view(LadybirdBrowserWindow*);
GtkButton* browser_window_restore_button(LadybirdBrowserWindow*);
GtkLabel* browser_window_zoom_label(LadybirdBrowserWindow*);
AdwBanner* browser_window_devtools_banner(LadybirdBrowserWindow*);
GtkRevealer* browser_window_find_bar_revealer(LadybirdBrowserWindow*);
GtkSearchEntry* browser_window_find_entry(LadybirdBrowserWindow*);
GtkLabel* browser_window_find_result_label(LadybirdBrowserWindow*);
GMenu* browser_window_hamburger_menu(LadybirdBrowserWindow*);
AdwToastOverlay* browser_window_toast_overlay(LadybirdBrowserWindow*);
GtkMenuButton* browser_window_menu_button(LadybirdBrowserWindow*);
}