Migrate all to popovermenu

master
Melroy van den Berg 2021-08-28 23:59:06 +02:00
parent 44f469723d
commit 5e32a7f68a
No known key found for this signature in database
GPG Key ID: 71D11FF23454B9D7
2 changed files with 27 additions and 4 deletions

View File

@ -6,6 +6,7 @@
#include "file.h"
#include <gtkmm/menuitem.h>
#include <gtkmm/image.h>
#include <gtkmm/listboxrow.h>
#include <giomm/file.h>
#include <glibmm/fileutils.h>
#include <glibmm/miscutils.h>
@ -43,6 +44,7 @@ MainWindow::MainWindow(const std::string &timeout)
m_spacingLabel("Spacing"),
m_marginsLabel("Margins"),
m_indentLabel("Indent"),
m_iconThemeLabel("Select Icon Theme:"),
m_appName("LibreWeb Browser"),
m_iconTheme("flat"), // filled or flat
m_useCurrentGTKIconTheme(false), // Use our built-in icon theme or the GTK icons
@ -281,10 +283,27 @@ void MainWindow::initSettingsPopover()
iconThemeButtonlabel->set_xalign(0.0);
aboutButtonLabel->set_xalign(0.0);
m_iconThemeBackButton.set_label("Main menu");
// Submenu: back button
m_iconThemeBackButton.set_label("Back to Settings");
m_iconThemeBackButton.property_menu_name() = "main";
m_iconThemeBackButton.property_inverted() = true;
// List box
Gtk::Label *label = Gtk::manage(new Gtk::Label("Bla"));
Gtk::ListBoxRow *row = Gtk::manage(new Gtk::ListBoxRow());
row->add(*label);
Gtk::Label *label2 = Gtk::manage(new Gtk::Label("Hello"));
Gtk::ListBoxRow *row2 = Gtk::manage(new Gtk::ListBoxRow());
row2->add(*label2);
m_iconThemeListBox.add(*row);
m_iconThemeListBox.add(*row2);
m_iconThemeListScrolledWindow.property_height_request() = 200;
m_iconThemeListScrolledWindow.add(m_iconThemeListBox);
auto iconThemeLabelContext = m_iconThemeLabel.get_style_context();
iconThemeLabelContext->add_class("dim-label");
m_vboxIconTheme.add(m_iconThemeBackButton);
m_vboxIconTheme.add(m_separator8);
m_vboxIconTheme.add(m_iconThemeLabel);
m_vboxIconTheme.add(m_iconThemeListScrolledWindow);
m_settingsPopover.add(m_vboxIconTheme);
m_settingsPopover.child_property_submenu(m_vboxIconTheme) = "icon-theme";

View File

@ -10,6 +10,7 @@
#include <gtkmm/window.h>
#include <gtkmm/cssprovider.h>
#include <gtkmm/box.h>
#include <gtkmm/listbox.h>
#include <gtkmm/menubar.h>
#include <gtkmm/scrolledwindow.h>
#include <gtkmm/button.h>
@ -19,7 +20,6 @@
#include <gtkmm/modelbutton.h>
#include <gtkmm/fontbutton.h>
#include <gtkmm/comboboxtext.h>
#include <gtkmm/popover.h>
#include <gtkmm/popovermenu.h>
#include <gtkmm/grid.h>
#include <gtkmm/scale.h>
@ -120,6 +120,8 @@ protected:
Gtk::Box m_hboxSetingsZoom;
Gtk::Box m_hboxSetingsBrightness;
Gtk::Box m_vboxIconTheme;
Gtk::ScrolledWindow m_iconThemeListScrolledWindow;
Gtk::ListBox m_iconThemeListBox;
Gtk::Scale m_scaleSettingsBrightness;
Gtk::Entry m_addressBar;
Gtk::ToggleButton m_searchMatchCase;
@ -197,14 +199,15 @@ protected:
Gtk::Image m_numberedListIcon;
Gtk::Image m_hightlightIcon;
Gtk::Image m_exitBottomIcon;
Gtk::Popover m_statusPopover;
Gtk::PopoverMenu m_settingsPopover; // Move to PopoverMenu, so I'm able to add submenu's !?
Gtk::PopoverMenu m_statusPopover;
Gtk::PopoverMenu m_settingsPopover;
Gtk::Button m_copyIDButton;
Gtk::Button m_copyPublicKeyButton;
Gtk::Label m_fontLabel;
Gtk::Label m_spacingLabel;
Gtk::Label m_marginsLabel;
Gtk::Label m_indentLabel;
Gtk::Label m_iconThemeLabel;
Gtk::Label m_statusLabel;
std::unique_ptr<Gtk::MessageDialog> m_contentPublishedDialog;
Gtk::ScrolledWindow m_scrolledWindowMain;
@ -217,6 +220,7 @@ protected:
Gtk::Separator m_separator5;
Gtk::Separator m_separator6;
Gtk::Separator m_separator7;
Gtk::Separator m_separator8;
private:
std::string m_appName;