| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- using Gtk;
- using Pango;
- namespace Ryujinx.Ui.Windows
- {
- public partial class UserProfilesManagerWindow : Window
- {
- private Box _mainBox;
- private Label _selectedLabel;
- private Box _selectedUserBox;
- private Image _selectedUserImage;
- private VBox _selectedUserInfoBox;
- private Entry _selectedUserNameEntry;
- private Label _selectedUserIdLabel;
- private VBox _selectedUserButtonsBox;
- private Button _saveProfileNameButton;
- private Button _changeProfileImageButton;
- private Box _usersTreeViewBox;
- private Label _availableUsersLabel;
- private ScrolledWindow _usersTreeViewWindow;
- private ListStore _tableStore;
- private TreeView _usersTreeView;
- private Box _bottomBox;
- private Button _addButton;
- private Button _deleteButton;
- private Button _closeButton;
- private void InitializeComponent()
- {
- #pragma warning disable CS0612
- //
- // UserProfilesManagerWindow
- //
- CanFocus = false;
- Resizable = false;
- Modal = true;
- WindowPosition = WindowPosition.Center;
- DefaultWidth = 620;
- DefaultHeight = 548;
- TypeHint = Gdk.WindowTypeHint.Dialog;
- //
- // _mainBox
- //
- _mainBox = new Box(Orientation.Vertical, 0);
- //
- // _selectedLabel
- //
- _selectedLabel = new Label("Selected User Profile:")
- {
- Margin = 15,
- Attributes = new AttrList()
- };
- _selectedLabel.Attributes.Insert(new Pango.AttrWeight(Weight.Bold));
- //
- // _viewBox
- //
- _usersTreeViewBox = new Box(Orientation.Vertical, 0);
- //
- // _SelectedUserBox
- //
- _selectedUserBox = new Box(Orientation.Horizontal, 0)
- {
- MarginLeft = 30
- };
- //
- // _selectedUserImage
- //
- _selectedUserImage = new Image();
- //
- // _selectedUserInfoBox
- //
- _selectedUserInfoBox = new VBox(true, 0);
- //
- // _selectedUserNameEntry
- //
- _selectedUserNameEntry = new Entry("")
- {
- MarginLeft = 15,
- MaxLength = (int)MaxProfileNameLength
- };
- _selectedUserNameEntry.KeyReleaseEvent += SelectedUserNameEntry_KeyReleaseEvent;
- //
- // _selectedUserIdLabel
- //
- _selectedUserIdLabel = new Label("")
- {
- MarginTop = 15,
- MarginLeft = 15
- };
- //
- // _selectedUserButtonsBox
- //
- _selectedUserButtonsBox = new VBox()
- {
- MarginRight = 30
- };
- //
- // _saveProfileNameButton
- //
- _saveProfileNameButton = new Button()
- {
- Label = "Save Profile Name",
- CanFocus = true,
- ReceivesDefault = true,
- Sensitive = false
- };
- _saveProfileNameButton.Clicked += EditProfileNameButton_Pressed;
- //
- // _changeProfileImageButton
- //
- _changeProfileImageButton = new Button()
- {
- Label = "Change Profile Image",
- CanFocus = true,
- ReceivesDefault = true,
- MarginTop = 10
- };
- _changeProfileImageButton.Clicked += ChangeProfileImageButton_Pressed;
- //
- // _availableUsersLabel
- //
- _availableUsersLabel = new Label("Available User Profiles:")
- {
- Margin = 15,
- Attributes = new AttrList()
- };
- _availableUsersLabel.Attributes.Insert(new Pango.AttrWeight(Weight.Bold));
- //
- // _usersTreeViewWindow
- //
- _usersTreeViewWindow = new ScrolledWindow()
- {
- ShadowType = ShadowType.In,
- CanFocus = true,
- Expand = true,
- MarginLeft = 30,
- MarginRight = 30,
- MarginBottom = 15
- };
- //
- // _tableStore
- //
- _tableStore = new ListStore(typeof(bool), typeof(Gdk.Pixbuf), typeof(string), typeof(Gdk.RGBA));
- //
- // _usersTreeView
- //
- _usersTreeView = new TreeView(_tableStore)
- {
- HoverSelection = true,
- HeadersVisible = false,
- };
- _usersTreeView.RowActivated += UsersTreeView_Activated;
- //
- // _bottomBox
- //
- _bottomBox = new Box(Orientation.Horizontal, 0)
- {
- MarginLeft = 30,
- MarginRight = 30,
- MarginBottom = 15
- };
- //
- // _addButton
- //
- _addButton = new Button()
- {
- Label = "Add New Profile",
- CanFocus = true,
- ReceivesDefault = true,
- HeightRequest = 35
- };
- _addButton.Clicked += AddButton_Pressed;
- //
- // _deleteButton
- //
- _deleteButton = new Button()
- {
- Label = "Delete Selected Profile",
- CanFocus = true,
- ReceivesDefault = true,
- HeightRequest = 35,
- MarginLeft = 10
- };
- _deleteButton.Clicked += DeleteButton_Pressed;
- //
- // _closeButton
- //
- _closeButton = new Button()
- {
- Label = "Close",
- CanFocus = true,
- ReceivesDefault = true,
- HeightRequest = 35,
- WidthRequest = 80
- };
- _closeButton.Clicked += CloseButton_Pressed;
- #pragma warning restore CS0612
- ShowComponent();
- }
- private void ShowComponent()
- {
- _usersTreeViewWindow.Add(_usersTreeView);
- _usersTreeViewBox.Add(_usersTreeViewWindow);
- _bottomBox.PackStart(new Gtk.Alignment(-1, 0, 0, 0) { _addButton }, false, false, 0);
- _bottomBox.PackStart(new Gtk.Alignment(-1, 0, 0, 0) { _deleteButton }, false, false, 0);
- _bottomBox.PackEnd(new Gtk.Alignment(1, 0, 0, 0) { _closeButton }, false, false, 0);
- _selectedUserInfoBox.Add(_selectedUserNameEntry);
- _selectedUserInfoBox.Add(_selectedUserIdLabel);
- _selectedUserButtonsBox.Add(_saveProfileNameButton);
- _selectedUserButtonsBox.Add(_changeProfileImageButton);
- _selectedUserBox.Add(_selectedUserImage);
- _selectedUserBox.PackStart(new Gtk.Alignment(-1, 0, 0, 0) { _selectedUserInfoBox }, true, true, 0);
- _selectedUserBox.Add(_selectedUserButtonsBox);
- _mainBox.PackStart(new Gtk.Alignment(-1, 0, 0, 0) { _selectedLabel }, false, false, 0);
- _mainBox.PackStart(_selectedUserBox, false, true, 0);
- _mainBox.PackStart(new Gtk.Alignment(-1, 0, 0, 0) { _availableUsersLabel }, false, false, 0);
- _mainBox.Add(_usersTreeViewBox);
- _mainBox.Add(_bottomBox);
- Add(_mainBox);
- ShowAll();
- }
- }
- }
|