public PreferenceDialog() : base("main_preferences") { LoadPreference(Preferences.METADATA_EMBED_IN_IMAGE); LoadPreference(Preferences.SCREENSAVER_TAG); LoadPreference(Preferences.GNOME_SCREENSAVER_THEME); if (!Global.CustomPhotoDirectory) { photosdir_chooser.CurrentFolderChanged += HandlePhotosdirChanged; photosdir_chooser.SetCurrentFolder(Global.PhotoDirectory); } else { photosdir_chooser.SetCurrentFolder(Global.PhotoDirectory); photosdir_chooser.Sensitive = false; } Gtk.CellRendererText name_cell = new Gtk.CellRendererText(); Gtk.CellRendererText desc_cell = new Gtk.CellRendererText(); display_combo.Model = new ProfileList(); display_combo.PackStart(desc_cell, false); display_combo.PackStart(name_cell, true); display_combo.SetCellDataFunc(name_cell, new CellLayoutDataFunc(ProfileList.ProfileNameDataFunc)); display_combo.SetCellDataFunc(desc_cell, new CellLayoutDataFunc(ProfileList.ProfileDescriptionDataFunc)); display_combo.Changed += HandleDisplayChanged; destination_combo.Model = new ProfileList(); destination_combo.PackStart(desc_cell, false); destination_combo.PackStart(name_cell, true); destination_combo.SetCellDataFunc(name_cell, new CellLayoutDataFunc(ProfileList.ProfileNameDataFunc)); destination_combo.SetCellDataFunc(desc_cell, new CellLayoutDataFunc(ProfileList.ProfileDescriptionDataFunc)); destination_combo.Changed += HandleDisplayChanged; Tag t = MainWindow.Toplevel.Database.Tags.GetTagById(screensaver_tag); TagMenu tagmenu = new TagMenu(null, MainWindow.Toplevel.Database.Tags); tagmenu.Populate(true); tag_option.Menu = tagmenu; int history = tagmenu.GetPosition(t); if (history >= 0) { tag_option.SetHistory((uint)history); } tagmenu.TagSelected += HandleTagMenuSelected; set_saver_button.Clicked += HandleUseFSpot; screensaverall_radio.Toggled += ToggleTagRadio; Preferences.SettingChanged += OnPreferencesChanged; this.Dialog.Destroyed += HandleDestroyed; }
public LibraryLocationButton(LibrarySource source) { this.source = source; preference = source.PreferencesPage["library-location"]["library-location"] as SchemaPreference <string>; preference.ShowLabel = false; preference.DisplayWidget = this; string dir = preference.Value ?? source.DefaultBaseDirectory; Spacing = 5; // FileChooserButton wigs out if the directory does not exist, // so create it if it doesn't and store the fact that we did // in case it ends up not being used, we can remove it try { if (!Banshee.IO.Directory.Exists(dir)) { Banshee.IO.Directory.Create(dir); created_directory = dir; Log.DebugFormat("Created library directory: {0}", created_directory); } } catch { } chooser = new FileChooserButton(Catalog.GetString("Select library location"), FileChooserAction.SelectFolder); // Only set the LocalOnly property if false; setting it when true // causes the "Other..." entry to be hidden in older Gtk+ if (!Banshee.IO.Provider.LocalOnly) { chooser.LocalOnly = Banshee.IO.Provider.LocalOnly; } chooser.SetCurrentFolder(dir); chooser.SelectionChanged += OnChooserChanged; HBox box = new HBox(); box.Spacing = 2; box.PackStart(new Image(Stock.Undo, IconSize.Button), false, false, 0); box.PackStart(new Label(Catalog.GetString("Reset")), false, false, 0); reset = new Button() { Sensitive = dir != source.DefaultBaseDirectory, TooltipText = String.Format(Catalog.GetString("Reset location to default ({0})"), source.DefaultBaseDirectory) }; reset.Clicked += OnReset; reset.Add(box); //Button open = new Button (); //open.PackStart (new Image (Stock.Open, IconSize.Button), false, false, 0); //open.Clicked += OnOpen; PackStart(chooser, true, true, 0); PackStart(reset, false, false, 0); //PackStart (open, false, false, 0); chooser.Show(); reset.ShowAll(); }
private void buildImportPanel() { importLocationButton = new FileChooserButton(_("Import folder to scan"), FileChooserAction.SelectFolder); importLocationButton.SetCurrentFolder(prefSettings.ImportLocation); importLocationButton.CurrentFolderChanged += OnImportLocationFolderChanged; importDirectoryHbox.Add(importLocationButton); if (!importTorrentsCheckBox.Active) { importLocationButton.Sensitive = false; } importLocationButton.Show(); }
public DruidStoragePage() { this.Build(); torrentButton = new FileChooserButton("Select torrent storage directory...", FileChooserAction.SelectFolder); dataButton = new FileChooserButton("Select default download directory...", FileChooserAction.SelectFolder); torrentButton.ShowAll(); dataButton.ShowAll(); storageTable.Attach(dataButton, 1, 2, 0, 1, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); storageTable.Attach(torrentButton, 1, 2, 1, 2, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); torrentButton.SetCurrentFolder(System.IO.Path.Combine(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "monotorrent"), "torrents")); dataButton.SetCurrentFolder(Environment.GetFolderPath(Environment.SpecialFolder.Personal)); }
private void buildFoldersPanel() { downloadLocationButton = new FileChooserButton(_("Download location"), FileChooserAction.SelectFolder); downloadLocationButton.SetCurrentFolder(engineSettings.SavePath); downloadLocationButton.CurrentFolderChanged += OnDownloadLocationButtonFolderChanged; foldersTable.Attach(downloadLocationButton, 1, 2, 0, 1); downloadLocationButton.Show(); torrentStorageLocationButton = new FileChooserButton(_("Torrage storage location"), FileChooserAction.SelectFolder); torrentStorageLocationButton.SetCurrentFolder(prefSettings.TorrentStorageLocation); torrentStorageLocationButton.CurrentFolderChanged += OnTorrentStorageLocationFolderChanged; foldersTable.Attach(torrentStorageLocationButton, 1, 2, 1, 2); torrentStorageLocationButton.Show(); }
private void SetDefaultFolderBackup() { var defaultBackupFolder = System.IO.Path.Combine(Directory.GetCurrentDirectory(), "Backup"); try { if (!Directory.Exists(defaultBackupFolder)) { Directory.CreateDirectory(defaultBackupFolder); } _folderChooser.SetCurrentFolder(defaultBackupFolder); } catch (Exception e) { _logger.Warn("Failed to create a default directory on \"{defaultBackupFolder}\""); _logger.Warn(e.Message); } }
private void BuildFilterPage() { TreeViewColumn filterColumn = new TreeViewColumn(); filterListStore = new ListStore(typeof(RssFilter)); CellRendererText textRenderer = new CellRendererText(); filterFeedCombobox.PackStart(textRenderer, true); filterFeedCombobox.AddAttribute(textRenderer, "text", 0); filterFeedListStore = new ListStore(typeof(string)); allIter = filterFeedListStore.AppendValues("All"); filterFeedCombobox.Model = filterFeedListStore; filterFeedCombobox.SetActiveIter(allIter); filterColumn.Title = "Filter"; Gtk.CellRendererText filterCell = new Gtk.CellRendererText(); filterColumn.PackStart(filterCell, true); filterColumn.SetCellDataFunc(filterCell, new Gtk.TreeCellDataFunc(RenderFilter)); filterTreeView.AppendColumn(filterColumn); filterTreeView.Model = filterListStore; savePathChooserButton = new FileChooserButton("Select a Save Path", FileChooserAction.SelectFolder); savePathChooserButton.SetCurrentFolder(controller.TorrentController.engine.Settings.SavePath); savePathChooserButton.ShowAll(); filterTable.Attach(savePathChooserButton, 1, 2, 3, 4, AttachOptions.Fill, AttachOptions.Shrink, 0, 0); foreach (RssFilter filter in controller.Filters) { filterListStore.AppendValues(filter); } foreach (string feed in controller.Feeds) { filterFeedListStore.AppendValues(feed); } filterTreeView.Selection.Changed += OnFilterTreeViewSelectionChanged; }
protected virtual void OnFilterTreeViewSelectionChanged(object o, EventArgs args) { TreeIter iter; RssFilter filter; logger.Debug("Retrieving selected RssFilter"); if (!filterTreeView.Selection.GetSelected(out iter)) { return; } logger.Debug("Populating filter settings"); filter = (RssFilter)filterListStore.GetValue(iter, 0); nameEntry.Changed -= OnRssFilterValueChanged; includeEntry.Changed -= OnRssFilterValueChanged; excludeEntry.Changed -= OnRssFilterValueChanged; filterFeedCombobox.Changed -= OnRssFilterValueChanged; savePathChooserButton.CurrentFolderChanged -= OnRssFilterValueChanged; Console.Out.WriteLine("Trying to get iter for feed: " + filter.Feed); filterFeedCombobox.SetActiveIter(FeedToIter(filter.Feed)); nameEntry.Text = filter.Name; includeEntry.Text = filter.Include; excludeEntry.Text = filter.Exclude; if (savePathChooserButton.SetCurrentFolder(filter.SavePath)) { logger.Error("Failed to switch file chooser folder for filter " + filter.Name); } nameEntry.Changed += OnRssFilterValueChanged; includeEntry.Changed += OnRssFilterValueChanged; excludeEntry.Changed += OnRssFilterValueChanged; filterFeedCombobox.Changed += OnRssFilterValueChanged; savePathChooserButton.CurrentFolderChanged += OnRssFilterValueChanged; }
public PreferencesDialog() : base(null, "PreferencesDialog") { dialog = base.Dialog; dialog.Shown += delegate { if (settings.FirstRun) { on_redetectConnectionButton_clicked(redetectConnectionButton, EventArgs.Empty); base.Dialog.SkipPagerHint = false; base.Dialog.SkipTaskbarHint = false; } }; settings = Gui.Settings; /* Configure gui */ firewallImage.Pixbuf = new Gdk.Pixbuf(null, "FileFind.Meshwork.GtkClient.firewall-small.png"); internetConnectionImage.Pixbuf = new Gdk.Pixbuf(null, "FileFind.Meshwork.GtkClient.network1.png"); folderImage = Gui.LoadIcon(24, "folder"); sharedFoldersListStore = new Gtk.ListStore(typeof(string)); sharedFoldersList.Model = sharedFoldersListStore; var imageCell = new CellRendererPixbuf(); var textCell = new CellRendererText(); var column = new TreeViewColumn(); column.PackStart(imageCell, false); column.PackStart(textCell, true); column.SetCellDataFunc(imageCell, new TreeCellDataFunc(showFolderIcon)); column.SetCellDataFunc(textCell, new TreeCellDataFunc(showFolderText)); sharedFoldersList.AppendColumn(column); sharedFoldersList.RulesHint = true; Gtk.Drag.DestSet(sharedFoldersList, Gtk.DestDefaults.All, new Gtk.TargetEntry [] { new Gtk.TargetEntry("text/uri-list", 0, 0) }, Gdk.DragAction.Copy); sharedFoldersList.DragDataReceived += OnSharedFoldersListDragDataReceived; advancedListStore = new Gtk.ListStore(typeof(string), typeof(int)); advancedList.Model = advancedListStore; advancedList.AppendColumn("Text", new CellRendererText(), "text", 0); advancedNotebook.ShowTabs = false; for (int x = 0; x < advancedNotebook.NPages; x++) { Widget widget = advancedNotebook.GetNthPage(x); advancedListStore.AppendValues(advancedNotebook.GetTabLabelText(widget), x); } TreeIter iter; advancedListStore.GetIterFirst(out iter); advancedList.Selection.SelectIter(iter); if (Gui.MainWindow != null) { dialog.TransientFor = Gui.MainWindow.Window; } else { // First run! } Gtk.Drag.DestSet(avatarButton, DestDefaults.All, target_table, Gdk.DragAction.Copy | Gdk.DragAction.Move); provider = new RSACryptoServiceProvider(); provider.ImportParameters(settings.EncryptionParameters); nodeid = Common.SHA512Str(provider.ToXmlString(false)); /**** Load options ****/ // General Tab nicknameEntry.Text = settings.NickName; nameEntry.Text = settings.RealName; nodeIdLabel.Markup = "<span font=\"monospace\">" + Common.FormatFingerprint(nodeid, 7) + "</span>"; emailEntry.Text = settings.Email; string avatarDirectory = Path.Combine(Settings.ConfigurationDirectory, "avatars"); string myAvatarFile = Path.Combine(avatarDirectory, String.Format("{0}.png", nodeid)); if (File.Exists(myAvatarFile)) { avatarImage.Pixbuf = new Gdk.Pixbuf(myAvatarFile); } else { avatarImage.Pixbuf = new Gdk.Pixbuf(null, "FileFind.Meshwork.GtkClient.avatar-generic-large.png"); avatarImage.Sensitive = false; } // Networks tab networksListStore = new ListStore(typeof(NetworkInfo)); foreach (NetworkInfo networkInfo in settings.Networks) { networksListStore.AppendValues(networkInfo.Clone()); } networksTreeView.AppendColumn("Network Name", new CellRendererText(), new TreeCellDataFunc(NetworkNameFunc)); networksTreeView.Model = networksListStore; // File Sharing Tab foreach (string dir in settings.SharedDirectories) { sharedFoldersListStore.AppendValues(new object[] { dir }); } downloadsChooser.SetCurrentFolder(settings.IncompleteDownloadDir); completedDownloadsChooser.SetCurrentFolder(settings.CompletedDownloadDir); // Connection Tab tcpPortLabel.Text = settings.TcpListenPort.ToString(); firewallStatusLabel.Text = String.Empty; if (CheckForNat()) { natStatusLabel.Markup = "You <b>are</b> behind a NAT router."; // XXX: Include UPnP Info! } else { natStatusLabel.Markup = "You <b>are not</b> behind a NAT router."; natOptionsTable.Sensitive = false; } bool foundIPv6Internal = false; bool foundIPv6External = false; foreach (IDestination destination in Core.DestinationManager.Destinations) { if (destination is IPv6Destination) { if (((IPv6Destination)destination).IsExternal) { foundIPv6External = true; } else { foundIPv6Internal = true; } } else if (destination is IPv4Destination && destination.IsExternal) { internetIPLabel.Text = ((IPDestination)destination).Address.ToString(); } } if (foundIPv6External) { supportsIPv6Label.Text = "Yes"; } else if (foundIPv6Internal) { supportsIPv6Label.Text = "LAN Only"; } else { supportsIPv6Label.Text = "No"; } // Plugins Tab pluginsListStore = new ListStore(typeof(PluginInfo)); pluginsTreeView.AppendColumn("Plugin Info", new CellRendererText(), new TreeCellDataFunc(PluginInfoFunc)); pluginsTreeView.Model = pluginsListStore; foreach (string fileName in settings.Plugins) { try { PluginInfo info = new PluginInfo(fileName); pluginsListStore.AppendValues(info); } catch (Exception ex) { Core.LoggingService.LogError(ex); } } // Advanced -> Appearance startInTrayCheckButton.Active = settings.StartInTray; // Advanced -> Auto-connect Tab autoConnectTreeStore = new Gtk.TreeStore(typeof(object)); autoConnectList.Model = autoConnectTreeStore; CellRendererToggle autoConnectToggleCell = new CellRendererToggle(); autoConnectToggleCell.Toggled += OnAutoConnectItemToggled; CellRendererText autoConnectTextCell = new CellRendererText(); column = new TreeViewColumn(); column.PackStart(autoConnectToggleCell, false); column.SetCellDataFunc(autoConnectToggleCell, new TreeCellDataFunc(ShowAutoConnectToggle)); column.PackStart(autoConnectTextCell, true); column.SetCellDataFunc(autoConnectTextCell, new TreeCellDataFunc(ShowAutoConnectName)); autoConnectList.AppendColumn(column); autoConnectList.AppendColumn("IP", new CellRendererText(), new Gtk.TreeCellDataFunc(ShowAutoConnectIP)); PopulateAutoConnectList(); autoConnectCountSpinButton.Value = settings.AutoConnectCount; // Advanced -> Connection nodePortSpinButton.Value = settings.TcpListenPort; nodePortOpenCheckButton.Active = settings.TcpListenPortOpen; detectIPCheckButton.Active = settings.DetectInternetIPOnStart; externalIPv4AddressEntry.Text = internetIPLabel.Text; stunServerEntry.Text = settings.StunServer; ipv6LocalInterfaceComboBox.Model = new ListStore(typeof(string), typeof(int)); ((ListStore)ipv6LocalInterfaceComboBox.Model).AppendValues("Disabled", -1); var interfaces = new Dictionary <string, int>(); foreach (InterfaceAddress addr in Core.OS.GetInterfaceAddresses()) { if (addr.Address.AddressFamily == AddressFamily.InterNetworkV6 && (!IPAddress.IsLoopback(addr.Address))) { if (!interfaces.ContainsKey(addr.Name)) { interfaces[addr.Name] = addr.InterfaceIndex; } } } foreach (string name in interfaces.Keys) { ((ListStore)ipv6LocalInterfaceComboBox.Model).AppendValues(name, interfaces[name]); } if (ipv6LocalInterfaceComboBox.Model.GetIterFirst(out iter)) { do { int index = (int)ipv6LocalInterfaceComboBox.Model.GetValue(iter, 1); if (index == settings.IPv6LinkLocalInterfaceIndex) { ipv6LocalInterfaceComboBox.SetActiveIter(iter); break; } } while (ipv6LocalInterfaceComboBox.Model.IterNext(ref iter)); } UpdateFirewallLabel(); // Advanced -> File Transfer limitDownSpeedCheckButton.Active = settings.EnableGlobalDownloadSpeedLimit; limitDownSpeedSpinButton.Value = settings.GlobalDownloadSpeedLimit; limitUpSpeedCheckButton.Active = settings.EnableGlobalUploadSpeedLimit; limitUpSpeedSpinButton.Value = settings.GlobalUploadSpeedLimit; // I cant seem to make anything default with just the glade file. nicknameEntry.GrabFocus(); }
public PreferenceDialog() : base("main_preferences") { tag_button = new MenuButton(); LoadPreference(Preferences.METADATA_EMBED_IN_IMAGE); LoadPreference(Preferences.COLOR_MANAGEMENT_ENABLED); LoadPreference(Preferences.COLOR_MANAGEMENT_USE_X_PROFILE); LoadPreference(Preferences.SCREENSAVER_TAG); LoadPreference(Preferences.GNOME_SCREENSAVER_THEME); if (Global.PhotoDirectory == Preferences.Get <string> (Preferences.STORAGE_PATH)) { photosdir_chooser.CurrentFolderChanged += HandlePhotosdirChanged; photosdir_chooser.SetCurrentFolder(Global.PhotoDirectory); } else { photosdir_chooser.SetCurrentFolder(Global.PhotoDirectory); photosdir_chooser.Sensitive = false; } Gtk.CellRendererText name_cell = new Gtk.CellRendererText(); Gtk.CellRendererText desc_cell = new Gtk.CellRendererText(); use_x_profile_check.Sensitive = colormanagement_check.Active; display_combo.Sensitive = colormanagement_check.Active; display_combo.Model = new ProfileList(); display_combo.PackStart(desc_cell, false); display_combo.PackStart(name_cell, true); display_combo.SetCellDataFunc(name_cell, new CellLayoutDataFunc(ProfileList.ProfileNameDataFunc)); //FIXME int it_ = 0; foreach (Cms.Profile profile in FSpot.ColorManagement.Profiles) { if (profile.ProductName == Preferences.Get <string> (Preferences.COLOR_MANAGEMENT_DISPLAY_PROFILE)) { display_combo.Active = it_; } it_++; } display_combo.Changed += HandleDisplayChanged; destination_combo.Sensitive = colormanagement_check.Active; destination_combo.Model = new ProfileList(); destination_combo.PackStart(desc_cell, false); destination_combo.PackStart(name_cell, true); destination_combo.SetCellDataFunc(name_cell, new CellLayoutDataFunc(ProfileList.ProfileNameDataFunc)); destination_combo.Changed += HandleDestinationChanged; //FIXME it_ = 0; foreach (Cms.Profile profile in FSpot.ColorManagement.Profiles) { if (profile.ProductName == Preferences.Get <string> (Preferences.COLOR_MANAGEMENT_OUTPUT_PROFILE)) { destination_combo.Active = it_; } it_++; } TagMenu tagmenu = new TagMenu(null, MainWindow.Toplevel.Database.Tags); tagmenu.Populate(false); tag_button.Menu = tagmenu; tag_button.ShowAll(); tagselectionhbox.Add(tag_button); tagmenu.TagSelected += HandleTagMenuSelected; set_saver_button.Clicked += HandleUseFSpot; screensaverall_radio.Toggled += ToggleTagRadio; themenone_radio.Toggled += ToggleThemeRadio; themelist_combo = ComboBox.NewText(); theme_list = new Dictionary <string, string> (); string gtkrc = Path.Combine("gtk-2.0", "gtkrc"); string [] search = { Path.Combine(Global.HomeDirectory, ".themes"), "/usr/share/themes" }; foreach (string path in search) { if (Directory.Exists(path)) { foreach (string dir in Directory.GetDirectories(path)) { if (File.Exists(Path.Combine(dir, gtkrc)) && !theme_list.ContainsKey(Path.GetFileName(dir))) { theme_list.Add(Path.GetFileName(dir), Path.Combine(dir, gtkrc)); } } } } string active_theme = Preferences.Get <string> (Preferences.GTK_RC); int it = 0; foreach (string theme in theme_list.Keys) { themelist_combo.AppendText(Path.GetFileName(theme)); if (active_theme.Contains(Path.DirectorySeparatorChar + Path.GetFileName(theme) + Path.DirectorySeparatorChar)) { themelist_combo.Active = it; } it++; } theme_table.Attach(themelist_combo, 2, 3, 0, 1); themelist_combo.Changed += HandleThemeComboChanged; themelist_combo.Show(); theme_filechooser.Visible = themefile_label.Visible = FSpot.Utils.Log.Debugging; themelist_combo.Sensitive = theme_filechooser.Sensitive = themecustom_radio.Active; if (File.Exists(active_theme)) { theme_filechooser.SetFilename(Preferences.Get <string> (Preferences.GTK_RC)); } theme_filechooser.SelectionChanged += HandleThemeFileActivated; themecustom_radio.Active = (active_theme != String.Empty); #if GTK_2_12_2 restartlabel.Visible = false; #endif #if DEBUGTHEMES refreshtheme_button = true; #endif Preferences.SettingChanged += OnPreferencesChanged; this.Dialog.Destroyed += HandleDestroyed; }
private void InitUI() { BOWidgetBox boxValue = null; BOWidgetBox ComboboxValue = null; try { cfg_configurationpreferenceparameter dataSourceRow = (cfg_configurationpreferenceparameter)_dataSourceRow; //Define Label for Value string valueLabel = (resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], dataSourceRow.ResourceString) != null) ? resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], dataSourceRow.ResourceString) : "LABEL NOT DEFINED IN Field [ResourceString]"; //Define RegEx for Value string valueRegEx = "REGULAR EXPRESSION NOT DEFINED IN Field [RegEx]"; if (dataSourceRow.RegEx != null) { //Try to get Value object objectValueRegEx = FrameworkUtils.GetFieldValueFromType(typeof(SettingsApp), dataSourceRow.RegEx); if (objectValueRegEx != null) { valueRegEx = objectValueRegEx.ToString(); } } //Define Label for Value bool valueRequired = (dataSourceRow.Required) ? dataSourceRow.Required : false; //Override Db Regex with ConfigurationSystemCountry RegExZipCode and RegExFiscalNumber if (dataSourceRow.Token == "COMPANY_POSTALCODE") { valueRegEx = SettingsApp.ConfigurationSystemCountry.RegExZipCode; } if (dataSourceRow.Token == "COMPANY_FISCALNUMBER") { valueRegEx = SettingsApp.ConfigurationSystemCountry.RegExFiscalNumber; } //Tab1 VBox vboxTab1 = new VBox(false, _boxSpacing) { BorderWidth = (uint)_boxSpacing }; //Ord Entry entryOrd = new Entry(); BOWidgetBox boxLabel = new BOWidgetBox(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_record_order"), entryOrd); vboxTab1.PackStart(boxLabel, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxLabel, _dataSourceRow, "Ord", SettingsApp.RegexIntegerGreaterThanZero, true)); //Code Entry entryCode = new Entry(); BOWidgetBox boxCode = new BOWidgetBox(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_record_code"), entryCode); vboxTab1.PackStart(boxCode, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxCode, _dataSourceRow, "Code", SettingsApp.RegexIntegerGreaterThanZero, true)); //Token Entry entryToken = new Entry(); BOWidgetBox boxToken = new BOWidgetBox(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_token"), entryToken); vboxTab1.PackStart(boxToken, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxToken, _dataSourceRow, "Token", SettingsApp.RegexAlfaNumericExtended, true)); //Get InputType PreferenceParameterInputType inputType = (PreferenceParameterInputType)Enum.Parse(typeof(PreferenceParameterInputType), dataSourceRow.InputType.ToString(), true); Entry entryValue = new Entry(); switch (inputType) { case PreferenceParameterInputType.Text: case PreferenceParameterInputType.TextPassword: boxValue = new BOWidgetBox(valueLabel, entryValue); vboxTab1.PackStart(boxValue, false, false, 0); // Turn entry into a TextPassword, curently we not use it, until we can turn Visibility = false into TreeView Cell if (inputType.Equals(PreferenceParameterInputType.TextPassword)) { entryValue.Visibility = false; } _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", valueRegEx, valueRequired)); // ValueTip if (!string.IsNullOrEmpty(dataSourceRow.ValueTip)) { entryValue.TooltipText = string.Format(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_prefparam_value_tip_format"), dataSourceRow.ValueTip); } break; case PreferenceParameterInputType.Multiline: EntryMultiline entryMultiline = new EntryMultiline(); entryMultiline.Value.Text = dataSourceRow.Value; entryMultiline.ScrolledWindow.BorderWidth = 1; entryMultiline.HeightRequest = 122; Label labelMultiline = new Label(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_notes")); boxValue = new BOWidgetBox(valueLabel, entryMultiline); vboxTab1.PackStart(boxValue, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", valueRegEx, valueRequired)); // Override Default Window Height _windowHeight = _windowHeightForTextComponent + 100; break; case PreferenceParameterInputType.CheckButton: CheckButton checkButtonValue = new CheckButton(valueLabel); vboxTab1.PackStart(checkButtonValue, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(checkButtonValue, _dataSourceRow, "Value")); // Override Default Window Height _windowHeight = _windowHeightForTextComponent - 20; break; //Mudar a lingua da Aplicação - Não é genérico //IN009296 BackOffice - Mudar a língua da aplicação case PreferenceParameterInputType.ComboBox: string getCultureFromDB; try { string sql = "SELECT value FROM cfg_configurationpreferenceparameter where token = 'CULTURE';"; getCultureFromDB = GlobalFramework.SessionXpo.ExecuteScalar(sql).ToString(); } catch { getCultureFromDB = GlobalFramework.Settings["customCultureResourceDefinition"]; } string[] getCulturesValues = new string[8]; getCulturesValues[0] = "pt-PT"; getCulturesValues[1] = "pt-AO"; getCulturesValues[2] = "pt-BR"; getCulturesValues[3] = "pt-MZ"; getCulturesValues[4] = "en-GB"; getCulturesValues[5] = "en-US"; getCulturesValues[6] = "fr-FR"; getCulturesValues[7] = "es-ES"; string[] getCulturesLabels = new string[8]; getCulturesLabels[0] = "Português(Portugal)"; getCulturesLabels[1] = "Português(Angola)"; getCulturesLabels[2] = "Português(Brasil)"; getCulturesLabels[3] = "Português(Moçambique)"; getCulturesLabels[4] = "English(GB)"; getCulturesLabels[5] = "English(USA)"; getCulturesLabels[6] = "Françes"; getCulturesLabels[7] = "Espanol"; TreeIter iter; TreeStore store = new TreeStore(typeof(string), typeof(string)); for (int i = 0; i < getCulturesLabels.Length; i++) { iter = store.AppendValues(getCulturesValues.GetValue(i), getCulturesLabels.GetValue(i)); } ComboBox xpoComboBoxInputType = new ComboBox(getCulturesLabels); xpoComboBoxInputType.Model.GetIterFirst(out iter); int cbox = 0; do { GLib.Value thisRow = new GLib.Value(); xpoComboBoxInputType.Model.GetValue(iter, 0, ref thisRow); //if ((thisRow.Val as string).Equals(getCultureFromDB)) if (getCulturesValues[cbox] == getCultureFromDB) { xpoComboBoxInputType.SetActiveIter(iter); break; } cbox++; } while (xpoComboBoxInputType.Model.IterNext(ref iter)); ComboboxValue = new BOWidgetBox(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_language"), xpoComboBoxInputType); vboxTab1.PackStart(ComboboxValue, false, false, 0); entryValue.Text = getCulturesValues[xpoComboBoxInputType.Active]; entryValue.Visibility = false; xpoComboBoxInputType.Changed += delegate { entryValue.Text = getCulturesValues[xpoComboBoxInputType.Active]; //GlobalFramework.CurrentCulture = new System.Globalization.CultureInfo(getCulturesValues[xpoComboBoxInputType.Active]); //GlobalFramework.Settings["customCultureResourceDefinition"] = getCulturesValues[xpoComboBoxInputType.Active]; //CustomResources.UpdateLanguage(getCulturesValues[xpoComboBoxInputType.Active]); //_crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", string.Empty, false)); }; boxValue = new BOWidgetBox(valueLabel, entryValue); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", string.Empty, false)); break; case PreferenceParameterInputType.FilePicker: case PreferenceParameterInputType.DirPicker: //FilePicker FileChooserAction fileChooserAction = (inputType.Equals(PreferenceParameterInputType.FilePicker)) ? FileChooserAction.Open : FileChooserAction.SelectFolder; FileChooserButton fileChooser = new FileChooserButton(string.Empty, fileChooserAction) { HeightRequest = 23 }; if (inputType.Equals(PreferenceParameterInputType.FilePicker)) { fileChooser.SetFilename(dataSourceRow.Value); fileChooser.Filter = Utils.GetFileFilterImages(); } else { fileChooser.SetCurrentFolder(dataSourceRow.Value); } boxValue = new BOWidgetBox(valueLabel, fileChooser); vboxTab1.PackStart(boxValue, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", string.Empty, false)); break; default: break; } //Append Tab _notebook.AppendPage(vboxTab1, new Label(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_record_main_detail"))); //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Disable Components entryToken.Sensitive = false; //Protect PreferenceParameterInputType : Disable if is COMPANY_FISCALNUMBER or Other Sensitive Data cfg_configurationpreferenceparameter parameter = (_dataSourceRow as cfg_configurationpreferenceparameter); if (entryValue != null) { entryValue.Sensitive = ( parameter.Token != "COMPANY_NAME" && parameter.Token != "COMPANY_BUSINESS_NAME" && parameter.Token != "COMPANY_COUNTRY" && parameter.Token != "COMPANY_COUNTRY" && parameter.Token != "COMPANY_COUNTRY_CODE2" && parameter.Token != "COMPANY_FISCALNUMBER" && parameter.Token != "SYSTEM_CURRENCY" //&& parameter.Token != "COMPANY_CIVIL_REGISTRATION" //&& parameter.Token != "COMPANY_CIVIL_REGISTRATION_ID" ); } } catch (System.Exception ex) { _log.Error(ex.Message, ex); } }
void LoadPreference(string key) { string pref; int i; switch (key) { case Preferences.STORAGE_PATH: photosdir_chooser.SetCurrentFolder(Preferences.Get <string> (key)); break; case Preferences.METADATA_EMBED_IN_IMAGE: bool embed_active = Preferences.Get <bool> (key); if (writemetadata_radio.Active != embed_active) { if (embed_active) { writemetadata_radio.Active = true; } else { dontwrite_radio.Active = true; } } always_sidecar_check.Sensitive = embed_active; break; case Preferences.METADATA_ALWAYS_USE_SIDECAR: bool always_use_sidecar = Preferences.Get <bool> (key); always_sidecar_check.Active = always_use_sidecar; break; case Preferences.GTK_RC: pref = Preferences.Get <string> (key); if (string.IsNullOrEmpty(pref)) { theme_combo.Active = 0; break; } i = 0; foreach (object [] row in theme_combo.Model as ListStore) { if (pref == (string)row [1]) { theme_combo.Active = i; break; } i++; } break; case Preferences.COLOR_MANAGEMENT_DISPLAY_PROFILE: pref = Preferences.Get <string> (key); if (string.IsNullOrEmpty(pref)) { screenprofile_combo.Active = 0; break; } if (pref == "_x_profile_" && FSpot.ColorManagement.XProfile != null) { screenprofile_combo.Active = 1; break; } i = 0; foreach (object [] row in screenprofile_combo.Model as ListStore) { if (pref == (string)row [0]) { screenprofile_combo.Active = i; break; } i++; } break; case Preferences.COLOR_MANAGEMENT_OUTPUT_PROFILE: pref = Preferences.Get <string> (key); if (string.IsNullOrEmpty(pref)) { printprofile_combo.Active = 0; break; } i = 0; foreach (object [] row in printprofile_combo.Model as ListStore) { if (pref == (string)row [0]) { printprofile_combo.Active = i; break; } i++; } break; } }
private void InitUI() { BOWidgetBox boxValue = null; try { CFG_ConfigurationPreferenceParameter dataSourceRow = (CFG_ConfigurationPreferenceParameter)_dataSourceRow; //Define Label for Value string valueLabel = (Resx.ResourceManager.GetString(dataSourceRow.ResourceString) != null) ? Resx.ResourceManager.GetString(dataSourceRow.ResourceString) : "LABEL NOT DEFINED IN Field [ResourceString]"; //Define RegEx for Value string valueRegEx = "REGULAR EXPRESSION NOT DEFINED IN Field [RegEx]"; if (dataSourceRow.RegEx != null) { //Try to get Value object objectValueRegEx = FrameworkUtils.GetFieldValueFromType(typeof(SettingsApp), dataSourceRow.RegEx); if (objectValueRegEx != null) { valueRegEx = objectValueRegEx.ToString(); } } //Define Label for Value bool valueRequired = (dataSourceRow.Required) ? dataSourceRow.Required : false; //Override Db Regex with ConfigurationSystemCountry RegExZipCode and RegExFiscalNumber if (dataSourceRow.Token == "COMPANY_POSTALCODE") { valueRegEx = SettingsApp.ConfigurationSystemCountry.RegExZipCode; } if (dataSourceRow.Token == "COMPANY_FISCALNUMBER") { valueRegEx = SettingsApp.ConfigurationSystemCountry.RegExFiscalNumber; } //Tab1 VBox vboxTab1 = new VBox(false, _boxSpacing) { BorderWidth = (uint)_boxSpacing }; //Ord Entry entryOrd = new Entry(); BOWidgetBox boxLabel = new BOWidgetBox(Resx.global_record_order, entryOrd); vboxTab1.PackStart(boxLabel, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxLabel, _dataSourceRow, "Ord", SettingsApp.RegexIntegerGreaterThanZero, true)); //Code Entry entryCode = new Entry(); BOWidgetBox boxCode = new BOWidgetBox(Resx.global_record_code, entryCode); vboxTab1.PackStart(boxCode, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxCode, _dataSourceRow, "Code", SettingsApp.RegexIntegerGreaterThanZero, true)); //Token Entry entryToken = new Entry(); BOWidgetBox boxToken = new BOWidgetBox(Resx.global_token, entryToken); vboxTab1.PackStart(boxToken, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxToken, _dataSourceRow, "Token", SettingsApp.RegexAlfaNumericExtended, true)); //Get InputType PreferenceParameterInputType inputType = (PreferenceParameterInputType)Enum.Parse(typeof(PreferenceParameterInputType), dataSourceRow.InputType.ToString(), true); Entry entryValue = new Entry(); switch (inputType) { case PreferenceParameterInputType.Text: case PreferenceParameterInputType.TextPassword: boxValue = new BOWidgetBox(valueLabel, entryValue); vboxTab1.PackStart(boxValue, false, false, 0); // Turn entry into a TextPassword, curently we not use it, until we can turn Visibility = false into TreeView Cell if (inputType.Equals(PreferenceParameterInputType.TextPassword)) { entryValue.Visibility = false; } _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", valueRegEx, valueRequired)); // ValueTip if (!string.IsNullOrEmpty(dataSourceRow.ValueTip)) { entryValue.TooltipText = string.Format(Resx.global_prefparam_value_tip_format, dataSourceRow.ValueTip); } break; case PreferenceParameterInputType.Multiline: EntryMultiline entryMultiline = new EntryMultiline(); entryMultiline.Value.Text = dataSourceRow.Value; entryMultiline.ScrolledWindow.BorderWidth = 1; entryMultiline.HeightRequest = 122; Label labelMultiline = new Label(Resx.global_notes); boxValue = new BOWidgetBox(valueLabel, entryMultiline); vboxTab1.PackStart(boxValue, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", valueRegEx, valueRequired)); // Override Default Window Height _windowHeight = _windowHeightForTextComponent + 100; break; case PreferenceParameterInputType.CheckButton: CheckButton checkButtonValue = new CheckButton(valueLabel); vboxTab1.PackStart(checkButtonValue, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(checkButtonValue, _dataSourceRow, "Value")); // Override Default Window Height _windowHeight = _windowHeightForTextComponent - 20; break; case PreferenceParameterInputType.ComboBox: break; case PreferenceParameterInputType.FilePicker: case PreferenceParameterInputType.DirPicker: //FilePicker FileChooserAction fileChooserAction = (inputType.Equals(PreferenceParameterInputType.FilePicker)) ? FileChooserAction.Open : FileChooserAction.SelectFolder; FileChooserButton fileChooser = new FileChooserButton(string.Empty, fileChooserAction) { HeightRequest = 23 }; if (inputType.Equals(PreferenceParameterInputType.FilePicker)) { fileChooser.SetFilename(dataSourceRow.Value); fileChooser.Filter = Utils.GetFileFilterImages(); } else { fileChooser.SetCurrentFolder(dataSourceRow.Value); } boxValue = new BOWidgetBox(valueLabel, fileChooser); vboxTab1.PackStart(boxValue, false, false, 0); _crudWidgetList.Add(new GenericCRUDWidgetXPO(boxValue, _dataSourceRow, "Value", string.Empty, false)); break; default: break; } //Append Tab _notebook.AppendPage(vboxTab1, new Label(Resx.global_record_main_detail)); //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Disable Components entryToken.Sensitive = false; //Protect PreferenceParameterInputType : Disable if is COMPANY_FISCALNUMBER or Other Sensitive Data CFG_ConfigurationPreferenceParameter parameter = (_dataSourceRow as CFG_ConfigurationPreferenceParameter); if (entryValue != null) { entryValue.Sensitive = ( parameter.Token != "COMPANY_NAME" && parameter.Token != "COMPANY_BUSINESS_NAME" && parameter.Token != "COMPANY_COUNTRY" && parameter.Token != "COMPANY_COUNTRY" && parameter.Token != "COMPANY_COUNTRY_CODE2" && parameter.Token != "COMPANY_FISCALNUMBER" && parameter.Token != "SYSTEM_CURRENCY" //&& parameter.Token != "COMPANY_CIVIL_REGISTRATION" //&& parameter.Token != "COMPANY_CIVIL_REGISTRATION_ID" ); } } catch (System.Exception ex) { _log.Error(ex.Message, ex); } }