chromium/chrome/browser/ui/views/bookmarks/saved_tab_groups/saved_tab_group_everything_menu.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_UI_VIEWS_BOOKMARKS_SAVED_TAB_GROUPS_SAVED_TAB_GROUP_EVERYTHING_MENU_H_
#define CHROME_BROWSER_UI_VIEWS_BOOKMARKS_SAVED_TAB_GROUPS_SAVED_TAB_GROUP_EVERYTHING_MENU_H_

#include <map>

#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/toolbar/app_menu_model.h"
#include "components/saved_tab_groups/features.h"
#include "components/saved_tab_groups/saved_tab_group_model.h"
#include "ui/base/models/simple_menu_model.h"
#include "ui/views/controls/button/menu_button_controller.h"
#include "ui/views/controls/menu/menu_delegate.h"
#include "ui/views/controls/menu/menu_item_view.h"
#include "ui/views/controls/menu/submenu_view.h"
#include "ui/views/dialog_model_context_menu_controller.h"
#include "url/gurl.h"

namespace tab_groups {

class TabGroupSyncService;

// A menu that contains a "Create new tab group" item and all the saved tab
// groups (if there are any) with color icon and tab group name. If no name is
// given, displays the number of tabs as menu label, e.g. "2 tabs".
class STGEverythingMenu : public views::MenuDelegate,
                          public ui::SimpleMenuModel::Delegate {};

}  // namespace tab_groups

#endif  // CHROME_BROWSER_UI_VIEWS_BOOKMARKS_SAVED_TAB_GROUPS_SAVED_TAB_GROUP_EVERYTHING_MENU_H_