diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-08 21:29:47 -0600 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-10-10 16:52:00 -0600 |
commit | 2c5fcf24a54f9ce9fd0b7c4a6adccb036f212851 (patch) | |
tree | cb18aa902093eab866c3c9f1f95a932def12d898 /gtk2_ardour/new_user_wizard.h | |
parent | a5c6c9a35291f4eac0d08feb4f8e928fe23c0b58 (diff) |
rename ArdourStartup to NewUserWizard and rename source file(s)
Diffstat (limited to 'gtk2_ardour/new_user_wizard.h')
-rw-r--r-- | gtk2_ardour/new_user_wizard.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/gtk2_ardour/new_user_wizard.h b/gtk2_ardour/new_user_wizard.h new file mode 100644 index 0000000000..95e9e55239 --- /dev/null +++ b/gtk2_ardour/new_user_wizard.h @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2009-2011 Carl Hetherington <carl@carlh.net> + * Copyright (C) 2009-2011 David Robillard <d@drobilla.net> + * Copyright (C) 2009-2016 Paul Davis <paul@linuxaudiosystems.com> + * Copyright (C) 2015-2017 Robin Gareus <robin@gareus.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __gtk2_ardour_startup_h__ +#define __gtk2_ardour_startup_h__ + +#include <string> + +#include <gtkmm/assistant.h> +#include <gtkmm/label.h> +#include <gtkmm/expander.h> +#include <gtkmm/box.h> +#include <gtkmm/radiobutton.h> +#include <gtkmm/filechooserbutton.h> +#include <gtkmm/comboboxtext.h> + +#include "ardour/utils.h" + +class EngineControl; + +class NewUserWizard : public Gtk::Assistant +{ +public: + NewUserWizard (); + ~NewUserWizard (); + + static bool required (); + + /* It's not a dialog so we have to fake this to make it behave like a + * dialog. This allows the StartupFSM to treat everything similarly. + */ + + sigc::signal1<void,int>& signal_response() { return _signal_response; } + +private: + bool config_modified; + bool new_user; + + void on_apply (); + void on_cancel (); + bool on_delete_event (GdkEventAny*); + void discover_plugins (); + + Glib::RefPtr<Gdk::Pixbuf> icon_pixbuf; + + void setup_prerelease_page (); + void setup_new_user_page (); + Glib::RefPtr<Gdk::Pixbuf> splash_pixbuf; + + void setup_first_time_config_page (); + void config_changed (); + + /* Welcome */ + Gtk::ComboBoxText ui_font_scale; + void rescale_ui (); + void guess_default_ui_scale (); + + /* first page */ + Gtk::FileChooserButton* default_dir_chooser; + void default_dir_changed(); + void setup_first_page (); + Gtk::FileChooserButton new_folder_chooser; + + /* monitoring choices */ + + Gtk::VBox mon_vbox; + Gtk::Label monitor_label; + Gtk::RadioButton monitor_via_hardware_button; + Gtk::RadioButton monitor_via_ardour_button; + void setup_monitoring_choice_page (); + + /* monitor section choices */ + + Gtk::VBox mon_sec_vbox; + Gtk::Label monitor_section_label; + Gtk::RadioButton use_monitor_section_button; + Gtk::RadioButton no_monitor_section_button; + void setup_monitor_section_choice_page (); + + /* final page */ + + void setup_final_page (); + Gtk::Button plugin_disco_button; + + /* always there */ + + Glib::RefPtr<Pango::Layout> layout; + + /* page indices */ + + gint audio_page_index; + gint new_user_page_index; + gint default_folder_page_index; + gint monitoring_page_index; + gint monitor_section_page_index; + gint final_page_index; + + void move_along_now (); + + sigc::signal1<void,int> _signal_response; +}; + +#endif /* __gtk2_ardour_startup_h__ */ |