diff --git a/src/mainwindow.cc b/src/mainwindow.cc index c2a17be..a64eba5 100644 --- a/src/mainwindow.cc +++ b/src/mainwindow.cc @@ -6,6 +6,7 @@ #include "file.h" #include #include +#include #include #include #include @@ -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"; diff --git a/src/mainwindow.h b/src/mainwindow.h index f353c82..1244384 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -19,7 +20,6 @@ #include #include #include -#include #include #include #include @@ -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 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;