Exemplo n.º 1
0
        public MainForm(IFormOpener formManager, IMainFormPresenter presenter, MainFormStyler mainFormStyler, IPubSub pubsub, IPropertiesRepository propertiesRepository)
        {
            InitializeComponent();

            _mainFormStyler = mainFormStyler;
            _pubsub         = pubsub;
            RenderTheme();
            if (propertiesRepository.GetValue <bool>(Constants.AppProperties.UpdateSettings))
            {
                propertiesRepository.Upgrade();
                propertiesRepository.SetValue(Constants.AppProperties.UpdateSettings, false);
                propertiesRepository.Save();
            }

            _formManager = formManager;
            presenter.InitializePresenter(new
            {
                MainForm = this,
                PubSub   = _pubsub
            });

            var selectedPath = propertiesRepository.GetValue <string>(Constants.AppProperties.SelectedPath);

            if (!string.IsNullOrEmpty(selectedPath))
            {
                Presenter.PopulateTreeView(selectedPath);
            }

            _propertiesRepository = propertiesRepository;
        }
Exemplo n.º 2
0
        private void queryTabControl_DrawItem(object sender, DrawItemEventArgs e)
        {
            var BackBrush = MainFormStyler.GetTabBrush(AppReferences.CurrentTheme);

            e.Graphics.FillRectangle(BackBrush, queryTabControl.Bounds);

            queryTabControl.SuspendLayout();
            var list = (System.Collections.IList)queryTabControl.TabPages;

            for (var i = 0; i < list.Count; i++)
            {
                var tabRect    = queryTabControl.GetTabRect(i);
                var tabPage    = queryTabControl.TabPages[i];
                var presenter  = tabPage.Tag as QueryWindowPresenter;
                var brushColor = MainFormStyler.GetTabBackground(AppReferences.CurrentTheme);
                if (presenter.SelectedConnection != null)
                {
                    brushColor = Presenter.GetConnectionColor(presenter.SelectedConnection.Name);
                }

                using (Brush br = new SolidBrush(brushColor))
                {
                    e.Graphics.FillRectangle(br, tabRect);
                    var rect = tabRect;
                    rect.Offset(0, 1);
                    rect.Inflate(0, -1);
                    e.Graphics.DrawRectangle(Pens.DarkGray, rect);
                    e.DrawFocusRectangle();
                }

                tabRect.Inflate(-2, -2);
                var closeImage = Properties.Resources.closeIcon;
                e.Graphics.DrawImage(closeImage, (tabRect.Right - 10), tabRect.Top + (tabRect.Height - closeImage.Height) / 2, 10, 10);

                TextRenderer.DrawText(e.Graphics, tabPage.Text, tabPage.Font, tabRect, Color.Black, TextFormatFlags.Left);
            }
            queryTabControl.ResumeLayout();
        }
Exemplo n.º 3
0
        public MainForm(IFormOpener formManager, IMainFormPresenter presenter, MainFormStyler mainFormStyler)
        {
            InitializeComponent();

            mainFormStyler.ApplyTheme(ThemeType.Dark, this);

            if (Properties.Settings.Default.UpdateSettings)
            {
                Properties.Settings.Default.Upgrade();
                Properties.Settings.Default.UpdateSettings = false;
                Properties.Settings.Default.Save();
            }

            _formManager = formManager;
            presenter.InitializePresenter(new
            {
                MainForm = this
            });

            if (!string.IsNullOrEmpty(Properties.Settings.Default.SelectedPath))
            {
                Presenter.PopulateTreeView(Properties.Settings.Default.SelectedPath);
            }
        }