private MainWindow(Builder builder) : base(builder.GetRawOwnedObject("MainWindow")) { this.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly().GetManifestResourceStream("LoopMusicPlayer.icon.ico")); Bass.Init(); Bass.Configure(Configuration.UpdatePeriod, 1); Bass.Configure(Configuration.PlaybackBufferLength, 50); builder.Autoconnect(this); _seekbararea.AddTickCallback(onframetick); TitleNameCell = new Gtk.CellRendererText(); TimeCell = new Gtk.CellRendererText(); LoopCell = new Gtk.CellRendererText(); ArtistNameCell = new Gtk.CellRendererText(); PathCell = new Gtk.CellRendererText(); _titlecolumn.PackStart(TitleNameCell, true); _timecolumn.PackStart(TimeCell, true); _loopcolumn.PackStart(LoopCell, true); _artistcolumn.PackStart(ArtistNameCell, true); _pathcolumn.PackStart(PathCell, true); _titlecolumn.AddAttribute(TitleNameCell, "text", 0); _timecolumn.AddAttribute(TimeCell, "text", 1); _loopcolumn.AddAttribute(LoopCell, "text", 2); _artistcolumn.AddAttribute(ArtistNameCell, "text", 3); _pathcolumn.AddAttribute(PathCell, "text", 4); DeleteEvent += Window_DeleteEvent; var targets = new[] { new TargetEntry("text/uri-list", TargetFlags.OtherApp, 0) }; Drag.DestSet(this, DestDefaults.All, targets, Gdk.DragAction.Copy | Gdk.DragAction.Move); DragDataReceived += TreeViewDragDataReceived; this.AddEvents((int)(Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask)); _labelseektimemenu.Toggle(); _singlerepeat.Toggle(); _streamingplay.Toggle(); UpdateLoopCountLabel(); _aboutmenu.Activated += ShowAbout; _listaddmenu.Activated += OpenFileFromMenu; _seekbararea.Drawn += DrawingArea_OnDraw; _quitmenu.Activated += WindowQuit; _listclearmenu.Activated += ListClear; _listdeletemenu.Activated += ListDelete; _treeview.RowActivated += ActivateLow; _volumebutton.ValueChanged += VolumeChanged; _pausebutton.Clicked += PauseClicked; _stopbutton.Clicked += StopClicked; _playbutton.Clicked += PlayClicked; _previousbutton.Clicked += PreviousClicked; _nextbutton.Clicked += NextClicked; _ejectbutton.Clicked += EjectClicked; _streamingplay.Toggled += EjectClicked; _onmemoryplay.Toggled += EjectClicked; _seekbararea.AddEvents((int)(Gdk.EventMask.ButtonPressMask | Gdk.EventMask.ButtonReleaseMask)); _seekbararea.ButtonPressEvent += SeekBarButtonPress; _seekbararea.ButtonReleaseEvent += SeekBarButtonRelease; _windowkeepabovemenu.Toggled += WindowAboveToggled; _showgridlinemenu.Toggled += ShowGridMenuToggled; _loopcountupbutton.Clicked += LoopCountUpButtonClicked; _loopcountdownbutton.Clicked += LoopCountDownButtonClicked; _singleplay.Toggled += LoopMethodToggled; _singlerepeat.Toggled += LoopMethodToggled; _allrepeat.Toggled += LoopMethodToggled; _randomplay.Toggled += LoopMethodToggled; }