Esempio n. 1
0
        public InstanceViewModel(CloudSQLSourceRootViewModel owner, DatabaseInstance instance)
        {
            _owner    = owner;
            _instance = instance;
            _item     = new Lazy <InstanceItem>(GetItem);
            _openAddDataConnectionDialog = new WeakCommand(OpenDataConnectionDialog);

            Caption = _instance.Name;

            var menuItems = new List <MenuItem>
            {
                new MenuItem {
                    Header = Resources.CloudExplorerSqlOpenAddDataConnectionMenuHeader, Command = _openAddDataConnectionDialog
                },
                new MenuItem {
                    Header = Resources.UiOpenOnCloudConsoleMenuHeader, Command = new WeakCommand(OnOpenOnCloudConsoleCommand)
                },
                new MenuItem {
                    Header = Resources.UiPropertiesMenuHeader, Command = new WeakCommand(OnPropertiesCommand)
                },
            };

            ContextMenu = new ContextMenu {
                ItemsSource = menuItems
            };

            UpdateIcon();
        }
Esempio n. 2
0
        public PortManagerViewModel(PortManagerWindow owner, Instance instance)
        {
            _owner    = owner;
            _instance = instance;

            Ports     = CreatePortModels();
            OkCommand = new WeakCommand(OnOkCommand);
        }
Esempio n. 3
0
        public ResetPasswordViewModel(ResetPasswordWindow owner, Instance instance, string projectId)
        {
            _owner     = owner;
            _instance  = instance;
            _projectId = projectId;

            OkCommand     = new WeakCommand(OnOkCommand);
            CancelCommand = new WeakCommand(OnCancelCommand);
        }
Esempio n. 4
0
        public ManageAccountsViewModel(ManageAccountsWindow owner)
        {
            _owner            = owner;
            _userAccountsList = LoadUserCredentialsViewModel();

            CurrentAccountName = CredentialsStore.Default.CurrentAccount?.AccountName;

            SetAsCurrentAccountCommand = new WeakCommand(OnSetAsCurrentAccountCommand, canExecuteCommand: false);
            DeleteAccountCommand       = new WeakCommand(OnDeleteAccountCommand);
            CloseCommand      = new WeakCommand(owner.Close);
            AddAccountCommand = new WeakCommand(OnAddAccountCommand);
        }
Esempio n. 5
0
        public ShowPasswordViewModel(ShowPasswordWindow owner, string userName, string password, string instanceName)
        {
            _owner = owner;

            UserName     = userName;
            Password     = password;
            InstanceName = instanceName;

            OkCommand             = new WeakCommand(OnOkCommand);
            TogglePasswordCommand = new WeakCommand(OnTogglePasswordCommand);
            CopyCommand           = new WeakCommand(OnCopyCommand);
        }
Esempio n. 6
0
        public CloudExplorerViewModel(SelectionUtils selectionUtils)
        {
            _selectionUtils = selectionUtils;

            // Contains the list of sources to display to the user, in the order they will
            // be displayed.

            _sources = new List <ICloudExplorerSource>
            {
                // The Google Compute Engine source.
                new GceSource(this),

                // The Google Cloud Storage source.
                new GcsSource(this),

                // The Google Cloud SQL source.
                new CloudSQLSource(this),

                // The source to navigate to the cloud console.
                new CloudConsoleSource(),
            };

            var refreshButtonEnumerable = new ButtonDefinition[]
            {
                new ButtonDefinition
                {
                    Icon    = s_refreshIcon.Value,
                    ToolTip = Resources.CloudExplorerRefreshButtonToolTip,
                    Command = new WeakCommand(this.OnRefresh),
                }
            };

            Buttons = Enumerable.Concat(refreshButtonEnumerable, _sources.SelectMany(x => x.Buttons));

            ManageAccountsCommand = new WeakCommand(OnManageAccountsCommand);

            CredentialsStore.Default.CurrentAccountChanged   += OnCurrentAccountChanged;
            CredentialsStore.Default.CurrentProjectIdChanged += OnCurrentProjectIdChanged;
            CredentialsStore.Default.Reset += OnReset;

            ResetCredentials();
        }
Esempio n. 7
0
        public BucketViewModel(GcsSourceRootViewModel owner, Bucket bucket)
        {
            _owner  = owner;
            _bucket = bucket;
            _item   = new Lazy <BucketItem>(GetItem);
            _openOnCloudConsoleCommand = new WeakCommand(OnOpenConCloudConsoleCommand);

            Caption = _bucket.Name;
            Icon    = s_bucketIcon.Value;

            var menuItems = new List <MenuItem>
            {
                new MenuItem {
                    Header = Resources.UiOpenOnCloudConsoleMenuHeader, Command = _openOnCloudConsoleCommand
                },
                new MenuItem {
                    Header = Resources.UiPropertiesMenuHeader, Command = new WeakCommand(OnPropertiesCommand)
                },
            };

            ContextMenu = new ContextMenu {
                ItemsSource = menuItems
            };
        }
Esempio n. 8
0
        public OAuthLoginFlowViewModel(OAuthLoginFlowWindow owner)
        {
            _owner = owner;

            CloseCommand = new WeakCommand(OnCloseCommand);
        }
Esempio n. 9
0
        private void UpdateContextMenu()
        {
            // If the instance is busy, then there's no context menu.
            // TODO(ivann): Should we have a "Cancel Operation" menu item?
            if (IsLoading || IsError)
            {
                ContextMenu = null;
                return;
            }

            var getPublishSettingsCommand = new WeakCommand(OnGetPublishSettings, Instance.IsAspnetInstance() && Instance.IsRunning());
            var openWebSite = new WeakCommand(OnOpenWebsite, Instance.IsAspnetInstance() && Instance.IsRunning());
            var openTerminalServerSessionCommand = new WeakCommand(
                OnOpenTerminalServerSessionCommand,
                Instance.IsWindowsInstance() && Instance.IsRunning());
            var startInstanceCommand         = new WeakCommand(OnStartInstanceCommand);
            var stopInstanceCommand          = new WeakCommand(OnStopInstanceCommand);
            var resetInstancePasswordCommand = new WeakCommand(OnResetInstancePasswordCommand, Instance.IsWindowsInstance() && Instance.IsRunning());
            var manageFirewallPorts          = new WeakCommand(OnManageFirewallPortsCommand);

            var menuItems = new List <MenuItem>
            {
                new MenuItem {
                    Header = Resources.CloudExplorerGceSavePublishSettingsMenuHeader, Command = getPublishSettingsCommand
                },
                new MenuItem {
                    Header = Resources.CloudExplorerGceOpenTerminalSessionMenuHeader, Command = openTerminalServerSessionCommand
                },
                new MenuItem {
                    Header = Resources.CloudExplorerGceOpenWebSiteMenuHeader, Command = openWebSite
                },
                new MenuItem {
                    Header = Resources.CloudExplorerGceCreateOrResetPasswordMenuHeader, Command = resetInstancePasswordCommand
                },
                new MenuItem {
                    Header = Resources.CloudExplorerGceManageFirewallPortsMenuHeader, Command = manageFirewallPorts
                },
            };

            if (Instance.IsRunning())
            {
                menuItems.Add(new MenuItem {
                    Header = Resources.CloudExplorerGceStopInstanceMenuHeader, Command = stopInstanceCommand
                });
            }
            else
            {
                menuItems.Add(new MenuItem {
                    Header = Resources.CloudExplorerGceStartInstanceMenuHeader, Command = startInstanceCommand
                });
            }

            menuItems.Add(new MenuItem {
                Header = Resources.UiOpenOnCloudConsoleMenuHeader, Command = new WeakCommand(OnOpenOnCloudConsoleCommand)
            });
            menuItems.Add(new MenuItem {
                Header = Resources.UiPropertiesMenuHeader, Command = new WeakCommand(OnPropertiesWindowCommand)
            });

            ContextMenu = new ContextMenu {
                ItemsSource = menuItems
            };
        }