public void Modify(TrackEditorDialog dialog)
        {
            for (int i = 0; i < dialog.Notebook.NPages; i++) {
                Widget page = dialog.Notebook.GetNthPage (i);
                ExtraTrackDetailsPage extra_page = page as ExtraTrackDetailsPage;
                if (extra_page != null) {
                    foreach (FieldPage.FieldSlot slot in extra_page.FieldSlots) {
                        // TODO this ia hacky - what if another Modifier added a 2nd SpinButton?
                        if (slot.Field is Gtk.SpinButton) {
                            // Remove it
                            (slot.Parent as Container).Remove (slot.Container);
                            extra_page.RemoveField (slot);

                            // Add our new and improved version back
                            extra_page.AddField (slot.Parent as Gtk.Box,
                                new BpmEntry (), null,
                                slot.LabelClosure,
                                delegate (EditorTrackInfo track, Widget widget) {
                                    ((BpmEntry)widget).Bpm = track.Bpm; },
                                delegate (EditorTrackInfo track, Widget widget) {
                                    track.Bpm = ((BpmEntry)widget).Bpm; },
                                FieldOptions.Shrink | FieldOptions.NoSync
                            );
                            break;
                        }
                    }

                    break;
                }
            }
        }
Пример #2
0
        public PageNavigationEntry (TrackEditorDialog dialog, string completionTable, string completionColumn)
        {
            this.dialog = dialog;
            entry = new TextEntry (completionTable, completionColumn);
            entry.Changed += OnChanged;
            entry.Activated += EditNextTitle;
            entry.KeyPressEvent += delegate (object o, KeyPressEventArgs args) {
                if ((args.Event.Key == Gdk.Key.Return || args.Event.Key == Gdk.Key.KP_Enter) &&
                    (args.Event.State & Gdk.ModifierType.ControlMask) != 0 && dialog.CanGoBackward) {
                    dialog.NavigateBackward ();
                    entry.GrabFocus ();
                }
            };
            entry.Show ();

            Spacing = 1;
            PackStart (entry, true, true, 0);

            if (dialog.TrackCount > 1) {
                dialog.Navigated += delegate {
                    forward_button.Sensitive = dialog.CanGoForward;
                };
                forward_button = EditorUtilities.CreateSmallStockButton (Stock.GoForward);
                object tooltip_host = Hyena.Gui.TooltipSetter.CreateHost ();
                Hyena.Gui.TooltipSetter.Set (tooltip_host, forward_button, Catalog.GetString ("Advance to the next track and edit its title"));
                forward_button.Sensitive = dialog.CanGoForward;
                forward_button.Show ();
                forward_button.Clicked += EditNextTitle;
                PackStart (forward_button, false, false, 0);
            }
        }
        public void Modify(TrackEditorDialog dialog)
        {
            for (int i = 0; i < dialog.Notebook.NPages; i++) {
                Widget page = dialog.Notebook.GetNthPage (i);
                ExtraTrackDetailsPage extra_page = page as ExtraTrackDetailsPage;
                if (extra_page != null) {
                    foreach (FieldPage.FieldSlot slot in extra_page.FieldSlots) {
                        if (slot.Field is Banshee.Gui.TrackEditor.TextViewEntry) {
                            extra_page.AddField (slot.Parent as Box, new MoodbarTrackEditorField (), "x4",
                                delegate(EditorTrackInfo track, Widget widget) { return "Moodbar"; },
                            delegate(EditorTrackInfo track, Widget widget) {
                                ((MoodbarTrackEditorField)widget).Uri = track.Uri;
                            },
                            delegate(EditorTrackInfo track, Widget widget) { }, FieldOptions.NoSync);

                            break;
                        }
                    }

                    break;
                }
            }
        }
Пример #4
0
        public void Modify(TrackEditorDialog dialog)
        {
            for (int i = 0; i < dialog.Notebook.NPages; i++)
            {
                Widget page = dialog.Notebook.GetNthPage(i);
                ExtraTrackDetailsPage extra_page = page as ExtraTrackDetailsPage;
                if (extra_page != null)
                {
                    foreach (FieldPage.FieldSlot slot in extra_page.FieldSlots)
                    {
                        // TODO this ia hacky - what if another Modifier added a 2nd SpinButton?
                        if (slot.Field is Gtk.SpinButton)
                        {
                            // Remove it
                            (slot.Parent as Container).Remove(slot.Container);
                            extra_page.RemoveField(slot);

                            // Add our new and improved version back
                            extra_page.AddField(slot.Parent as Gtk.Box,
                                                new BpmEntry(), null,
                                                slot.LabelClosure,
                                                delegate(EditorTrackInfo track, Widget widget) {
                                ((BpmEntry)widget).Bpm = track.Bpm;
                            },
                                                delegate(EditorTrackInfo track, Widget widget) {
                                track.Bpm = ((BpmEntry)widget).Bpm;
                            },
                                                FieldOptions.Shrink | FieldOptions.NoSync
                                                );
                            break;
                        }
                    }

                    break;
                }
            }
        }
Пример #5
0
 public void Initialize(TrackEditorDialog dialog)
 {
 }
Пример #6
0
 public PageNavigationEntry (TrackEditorDialog dialog) : this (dialog, null, null)
 {
 }
Пример #7
0
 public void Initialize (TrackEditorDialog dialog)
 {
     this.dialog = dialog;
     AddFields ();
 }
Пример #8
0
 public void Initialize(TrackEditorDialog dialog)
 {
     this.dialog = dialog;
 }
Пример #9
0
 public void Initialize(TrackEditorDialog dialog)
 {
 }