public void Show() { dialog.Show(); }
public PreferencesWindow() { SetupUi(); // Tweak the account list accountsList.HorizontalHeader().Hide(); accountsList.VerticalHeader().Hide(); accountsList.SetModel(new AccountsItemModel(accountsList)); accountsList.SetItemDelegate(new PaddedItemDelegate(accountsList)); accountsList.HorizontalHeader().SetResizeMode(QHeaderView.ResizeMode.Stretch); accountsList.HorizontalHeader().SetResizeMode(1, QHeaderView.ResizeMode.ResizeToContents); // Set up fake chat handler for preview messagePreviewWebView.ChatHandler = new FakeChatHandler(); QObject.Connect <bool>(messagePreviewWebView, Qt.SIGNAL("loadFinished(bool)"), delegate { ((FakeChatHandler)messagePreviewWebView.ChatHandler).Go(); }); // Load Settings var settings = ServiceManager.Get <SettingsService>(); showHeaderCheckBox.Checked = settings.Get <bool>("MessageShowHeader"); showAvatarsCheckBox.Checked = settings.Get <bool>("MessageShowAvatars"); string themeName = settings.Get <string>("MessageTheme"); string themeVariantName = settings.Get <string>("MessageThemeVariant"); foreach (var pair in ConversationWidget.AllThemes) { messageStyleCombo.AddItem(pair.Value.Get <string>("CFBundleName"), pair.Key); } // Select the current style/variant messageStyleCombo.CurrentIndex = messageStyleCombo.FindData(themeName); messageStyleVariantCombo.CurrentIndex = messageStyleVariantCombo.FindText(themeVariantName); messagePreviewWebView.ChatHandler.NewContent += delegate(IChatHandler handler, AbstractChatContent content) { messagePreviewWebView.AppendContent(content, false, false, false); }; // Tweak the extensions list extensionsList.HorizontalHeader().Hide(); extensionsList.VerticalHeader().Hide(); extensionsList.SetModel(new ExtensionsItemModel(extensionsList)); extensionsList.SetItemDelegate(new PaddedItemDelegate(extensionsList)); extensionsList.HorizontalHeader().SetResizeMode(QHeaderView.ResizeMode.Stretch); QObject.Connect(extensionsList, Qt.SIGNAL("activated(const QModelIndex &)"), delegate(QModelIndex index) { Addin addin = (Addin)index.InternalPointer(); var nodes = AddinManager.GetExtensionNodes("/Synapse/QtClient/AddinPreferencesDialogs"); foreach (QWidgetTypeExtensionNode node in nodes) { if (addin.Id.StartsWith(node.Addin.Id)) { QDialog dialog = (QDialog)node.CreateInstance(this); dialog.Show(); dialog.Exec(); break; } } }); m_Loaded = true; RefreshMessagePreview(); }