TerminalSettingsWidget.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2018-2021, the SerenityOS developers.
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #pragma once
  7. #include <LibGUI/Button.h>
  8. #include <LibGUI/CheckBox.h>
  9. #include <LibGUI/ComboBox.h>
  10. #include <LibGUI/SettingsWindow.h>
  11. #include <LibGUI/TextEditor.h>
  12. #include <LibVT/TerminalWidget.h>
  13. class TerminalSettingsMainWidget final : public GUI::SettingsWindow::Tab {
  14. C_OBJECT(TerminalSettingsMainWidget)
  15. public:
  16. virtual void apply_settings() override;
  17. virtual void cancel_settings() override;
  18. private:
  19. TerminalSettingsMainWidget();
  20. void write_back_settings() const;
  21. static VT::TerminalWidget::BellMode parse_bell(StringView bell_string);
  22. static String stringify_bell(VT::TerminalWidget::BellMode bell_mode);
  23. VT::TerminalWidget::BellMode m_bell_mode = VT::TerminalWidget::BellMode::Disabled;
  24. size_t m_max_history_size;
  25. bool m_show_scrollbar { true };
  26. VT::TerminalWidget::BellMode m_original_bell_mode;
  27. size_t m_original_max_history_size;
  28. bool m_orignal_show_scrollbar { true };
  29. };
  30. class TerminalSettingsViewWidget final : public GUI::SettingsWindow::Tab {
  31. C_OBJECT(TerminalSettingsViewWidget)
  32. public:
  33. virtual void apply_settings() override;
  34. virtual void cancel_settings() override;
  35. private:
  36. TerminalSettingsViewWidget();
  37. void write_back_settings() const;
  38. RefPtr<Gfx::Font> m_font;
  39. float m_opacity;
  40. String m_color_scheme;
  41. RefPtr<Gfx::Font> m_original_font;
  42. float m_original_opacity;
  43. String m_original_color_scheme;
  44. };