12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using Adw;
- using Gtk;
- namespace Publicate {
- public class StartupMenu : Box {
- private Adw.HeaderBar header_bar;
- private Box box;
- private Stack stack;
- private Wizards.StandardWizard standard_wizard;
- private Wizards.VideoWizard video_wizard;
- private ViewerWindow window;
- public StartupMenu(ViewerWindow win) {
- window = win;
- orientation = Orientation.VERTICAL;
- vexpand = true;
- header_bar = new Adw.HeaderBar ();
- header_bar.add_css_class ("flat");
- header_bar.show_end_title_buttons = true;
- header_bar.title_widget = new Adw.WindowTitle ("", "");
- stack = new Stack();
- stack.transition_type = StackTransitionType.SLIDE_LEFT_RIGHT;
- append(header_bar);
- append(stack);
- box = new Box(Orientation.VERTICAL, 18);
- box.valign = Align.CENTER;
- box.halign = Align.CENTER;
- box.vexpand = true;
- box.margin_bottom = 40;
- stack.add_child (box);
- var title = new Label("Publicate!");
- title.add_css_class("title-1");
- box.append(title);
- var action_list = new ListBox ();
- action_list.add_css_class ("boxed-list");
- box.append(action_list);
- var new_action_row = new ActionRow();
- new_action_row.title = "New Publication";
- new_action_row.subtitle = "Create a new publication using Markdown for text formatting.";
- new_action_row.activatable = true;
- new_action_row.activated.connect(() => stack.visible_child = standard_wizard);
- action_list.append (new_action_row);
- var new_video_action_row = new ActionRow();
- new_video_action_row.title = "New Video Publication";
- new_video_action_row.subtitle = "Create a video publication from an existing video.";
- new_video_action_row.activatable = true;
- new_video_action_row.activated.connect(() => stack.visible_child = video_wizard);
- action_list.append (new_video_action_row);
- var edit_action_row = new ActionRow();
- edit_action_row.title = "Open Existing Publication";
- edit_action_row.subtitle = "Edit a publication that has already been created.";
- edit_action_row.activatable = true;
- action_list.append (edit_action_row);
- edit_action_row.activated.connect(() => window.open_ppub.begin());
- standard_wizard = new Wizards.StandardWizard(window);
- standard_wizard.cancelled.connect(wizard_cancelled);
- standard_wizard.open.connect(open_file);
- stack.add_child(standard_wizard);
- video_wizard = new Wizards.VideoWizard(window);
- video_wizard.cancelled.connect(wizard_cancelled);
- video_wizard.open.connect(open_file);
- stack.add_child(video_wizard);
- }
- private void wizard_cancelled() {
- stack.visible_child = box;
- }
- private void open_file(File file) {
- window.load_ppub(file);
- }
- }
- }
|