Beispiel #1
0
        public Settings(ISharedPreferences preferences, string systemLanguage, InfobaseManager.Infobase infobase)
        {
            _preferences = preferences;
            Language     = systemLanguage;

            _name = infobase.Name;

            BaseUrl           = infobase.BaseUrl;
            ApplicationString = infobase.ApplicationString;

            FtpPort = infobase.FtpPort;

            string lastUrl = _preferences.GetString("url", string.Empty);

            if (BaseUrl == lastUrl)
            {
                UserName = _preferences.GetString("user", infobase.UserName);
                Password = _preferences.GetString("password", infobase.Password);
            }
            else
            {
                UserName = infobase.UserName;
                Password = infobase.Password;
            }

            ClearCacheOnStart = infobase.IsActive && _preferences.GetBoolean("clearCache", ForceClearCache);

            infobase.IsActive  = true;
            infobase.IsAutorun = true;

            WriteSettings();
        }
Beispiel #2
0
        void LoadList()
        {
            using (var basesList = Activity.FindViewById <ListView>(Resource.Id.infobasesList))
            {
                var captions = new string[_manager.Infobases.Length + 1];
                for (int i = 0; i < _manager.Infobases.Length; i++)
                {
                    InfobaseManager.Infobase infobase = _manager.Infobases[i];
                    captions[i] = infobase.Name;
                    if (infobase.IsActive)
                    {
                        captions[i] += "*";
                    }
                }
                captions[captions.Length - 1] = "...";

                basesList.Adapter =
                    new ArrayAdapter <string>(Activity, Resource.Layout.TextViewForListView, captions);

                basesList.ItemClick     += basesList_ItemClick;
                basesList.ItemLongClick += basesList_ItemLongClick;
            }
        }
Beispiel #3
0
        void basesList_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
        {
            if (e.Position < _manager.Infobases.Length)
            {
                InfobaseManager.Infobase currentInfobase = _manager.Infobases[e.Position];
                foreach (var infobase in _manager.Infobases)
                {
                    if (infobase != currentInfobase)
                    {
                        infobase.IsActive = false;
                    }
                }

                var settings = new Settings(_prefs, Activity.Resources.Configuration.Locale.Language, currentInfobase);
                _resultCallback(settings);
            }
            else
            {
                using (var builder = new AlertDialog.Builder(Activity))
                {
                    builder.SetTitle(D.CREATE_NEW_INFOBASE);

                    var ll = new LinearLayout(Activity)
                    {
                        Orientation = Orientation.Vertical
                    };
                    ll.SetPadding(10, 5, 10, 5);
                    builder.SetView(ll);

                    ll.AddView(new TextView(Activity)
                    {
                        Text = D.INFOBASE_NAME
                    });
                    var editName = new EditText(Activity);
                    editName.SetSingleLine();
                    ll.AddView(editName);

                    ll.AddView(new TextView(Activity)
                    {
                        Text = D.URL
                    });
                    var editUrl = new EditText(Activity)
                    {
                        Text = "http://"
                    };
                    editUrl.SetSingleLine();
                    ll.AddView(editUrl);

                    ll.AddView(new TextView(Activity)
                    {
                        Text = D.APPLICATION
                    });
                    var editApplication = new EditText(Activity)
                    {
                        Text = "app"
                    };
                    editApplication.SetSingleLine();
                    ll.AddView(editApplication);

                    ll.AddView(new TextView(Activity)
                    {
                        Text = D.FTP_PORT
                    });
                    var editFtpPort = new EditText(Activity)
                    {
                        Text = "21"
                    };
                    editFtpPort.SetSingleLine();
                    ll.AddView(editFtpPort);

                    builder.SetPositiveButton(D.OK, (s, args) =>
                    {
                        _manager.CreateInfobase(editName.Text, editUrl.Text
                                                , editApplication.Text, editFtpPort.Text);
                        LoadList();
                    });
                    builder.SetNegativeButton(D.CANCEL, (s, args) => { });
                    builder.Show();
                }
            }
        }