protected void OnButtonOkClicked(object sender, EventArgs e) { try { if (cat != null) { int id = GetId(cat, idEntry.Text); string name = GetName(nameEntry.Text); doc = new Document(cat, id, name, dateCalendar.Date); cat.Add(doc); this.Respond(Gtk.ResponseType.Ok); } else { throw new Exception("You must select a category"); } } catch (Exception ex) { Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, true, String.Format(ex.Message.ToString())); if ((Gtk.ResponseType)msg.Run() == Gtk.ResponseType.Close) { msg.Destroy(); } } }
void on_okButton_clicked(object o, EventArgs args) { if (Core.Settings.KeyEncrypted && !Core.Settings.CheckKeyPassword(oldPasswordEntry.Text)) { Gui.ShowErrorDialog("Old password incorrect"); oldPasswordEntry.GrabFocus(); return; } if (newPasswordEntry.Text != confirmPasswordEntry.Text) { Gui.ShowErrorDialog("New passwords do not match"); newPasswordEntry.GrabFocus(); return; } if (newPasswordEntry.Text == String.Empty) { var dialog = new Gtk.MessageDialog(base.Window, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, "Are you sure you don't want to set a password?"); dialog.Show(); int r = dialog.Run(); dialog.Destroy(); if (r != (int)Gtk.ResponseType.Yes) { return; } } Core.Settings.ChangeKeyPassword(newPasswordEntry.Text); if (!Core.Settings.FirstRun) Gui.ShowMessageDialog("Your password has been changed."); Dialog.Respond(Gtk.ResponseType.Ok); }
public BattleSession() { this.coreAbilities = new List<AbilityDefinition>(8); this.coreAbilities.Add(AbilityDefinition.Charisma); this.coreAbilities.Add(AbilityDefinition.Logic); this.coreAbilities.Add(AbilityDefinition.Perception); this.coreAbilities.Add(AbilityDefinition.Power); this.coreAbilities.Add(AbilityDefinition.Speed); this.coreAbilities.Add(AbilityDefinition.Stamina); this.coreAbilities.Add(AbilityDefinition.Strength); this.coreAbilities.Add(AbilityDefinition.Willpower); try { this.origins = new List<OriginDefinition>(); this.origins = Battle.Data.Storage.LoadOrigins("Data/origins.xml"); this.species = new List<SpeciesDefinition>(); this.species = Battle.Data.Storage.LoadSpecies("Data/species.xml"); this.skills = new List<SkillDefinition>(); this.skills = Battle.Data.Storage.LoadSkills("Data/skills.xml"); this.powerSources = new List<PowerSource>(); this.powerSources = Battle.Data.Storage.LoadPowerSources("Data/powersources.xml"); this.powers = new List<PowerDefinition>(); this.powers = Battle.Data.Storage.LoadPowers("Data/powers.xml"); } catch (Exception exp) { Gtk.MessageDialog dlg = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "{0}: {1}", exp.GetType().ToString(), exp.Message); dlg.Run(); } }
// uses reflection to call the corresponding method in the "Create" class. public static UML.Element CreateUmlElement(string elementType) { Type create = typeof(UML.Create); object newElement = create.InvokeMember( elementType, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlags.Static, null, null, null); UML.NamedElement ne = newElement as UML.NamedElement; if(ne != null) { _dialog = new Gtk.MessageDialog( null, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.Ok, GettextCatalog.GetString ("New element name:")); Gtk.Entry elementName = new Gtk.Entry(); elementName.Activated += new EventHandler(CloseNewElementNameModal); _dialog.VBox.Add(elementName); elementName.Show(); _dialog.Run(); ne.Name = String.Format(elementName.Text, elementType); _dialog.Destroy(); _dialog = null; } return (UML.Element)newElement; }
public MainClass(bool debug, string appName) { GLibLogging.Enabled = true; Assembly exe = typeof (MainClass).Assembly; string configDir = Path.GetFullPath (Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData), appName)); string lockFile = Path.Combine (configDir, "pid.lock"); bool instanceRunning = DetectInstances (lockFile, appName); if (instanceRunning) { Gtk.Application.Init (); Gtk.MessageDialog md = new Gtk.MessageDialog (null, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.Close, GettextCatalog.GetString ("An instance of StrongMonkey with configuration profile '{0}' is already running.{1}If you really want to run 2 seperate instances, use the \"--appName=StrongMonkeyXXX\" command line parameter", appName, Environment.NewLine)); md.Run (); md.Destroy (); md.Dispose (); md.Close += delegate(object sender, EventArgs e) { Gtk.Application.Quit (); }; Gtk.Application.Run (); } else { CoreUtility.Initialize (exe, appName, debug); WriteInstancePid (lockFile); AddinUtility.Initialize (); } }
void ShowErrorMessage(string msg) { Gtk.MessageDialog md = new Gtk.MessageDialog (null , Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, msg, new object [] {}); md.Run (); md.Destroy (); }
public static void ShowWarningMessage(Gtk.Window parentWin, string format, params object[] args) { Gtk.MessageDialog md = new Gtk.MessageDialog(parentWin, Gtk.DialogFlags.DestroyWithParent | Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.Ok, format, args); md.Title = Catalog.GetString("Warning"); md.Run(); md.Destroy(); }
bool HandleOverrideConfirmation (String name) { Gtk.MessageDialog dialog = new Gtk.MessageDialog(this.Toplevel as Gtk.Window, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, name + Mono.Unix.Catalog.GetString(" already exists.\n Do you want to override it?")); dialog.Modal = true; Gtk.ResponseType result = (Gtk.ResponseType)dialog.Run(); dialog.Destroy (); return result == Gtk.ResponseType.Yes; }
public DialogResult ShowDialog(Control parent) { Gtk.Widget c = (parent == null) ? null : (Gtk.Widget)parent.ControlObject; while (!(c is Gtk.Window) && c != null) { c = c.Parent; } control = new Gtk.MessageDialog((Gtk.Window)c, Gtk.DialogFlags.Modal, Convert (Type), Gtk.ButtonsType.Ok, false, Text); control.TypeHint = Gdk.WindowTypeHint.Dialog; var caption = Caption ?? ((parent != null && parent.ParentWindow != null) ? parent.ParentWindow.Title : null); if (!string.IsNullOrEmpty(caption)) control.Title = caption; int ret = control.Run(); control.Destroy(); return Generator.Convert((Gtk.ResponseType)ret); }
public static bool ShowReconnectDialog(Gtk.Window parent) { Trace.Call(parent); Gtk.MessageDialog md = new Gtk.MessageDialog(parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.OkCancel, _("The frontend has lost the connection to the server.\nDo you want to reconnect now?")); Gtk.ResponseType res = (Gtk.ResponseType)md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Ok) { Quit(); return(false); } while (true) { try { Frontend.ReconnectEngineToGUI(); // yay, we made it _InReconnectHandler = false; break; } catch (Exception e) { #if LOG4NET _Logger.Error("ShowReconnectDialog(): Reconnect failed, exception:", e); #endif var msg = _("Reconnecting to the server has failed.\nDo you want to try again?"); // the parent window is hidden (MainWindow) at this // point thus modal doesn't make sense here md = new Gtk.MessageDialog(parent, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.OkCancel, msg); md.SetPosition(Gtk.WindowPosition.CenterAlways); res = (Gtk.ResponseType)md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Ok) { // give up Quit(); return(false); } } } return(true); }
public DialogResult ShowDialog(Control parent) { Gtk.Window parentWindow = null; if (parent != null && parent.ParentWindow != null) { parentWindow = parent.ParentWindow.ControlObject as Gtk.Window; } control = new Gtk.MessageDialog(parentWindow, Gtk.DialogFlags.Modal, Type.ToGtk(), Buttons.ToGtk(), false, Text); control.TypeHint = Gdk.WindowTypeHint.Dialog; var caption = Caption ?? ((parent != null && parent.ParentWindow != null) ? parent.ParentWindow.Title : null); if (!string.IsNullOrEmpty(caption)) { control.Title = caption; } if (Buttons == MessageBoxButtons.YesNoCancel) { // must add cancel manually var b = (Gtk.Button)control.AddButton(Gtk.Stock.Cancel, (int)Gtk.ResponseType.Cancel); b.UseStock = true; } control.DefaultResponse = DefaultButton.ToGtk(Buttons); int ret = control.Run(); control.Destroy(); var result = ((Gtk.ResponseType)ret).ToEto(); if (result == DialogResult.None) { switch (Buttons) { case MessageBoxButtons.OK: result = DialogResult.Ok; break; case MessageBoxButtons.YesNo: result = DialogResult.No; break; case MessageBoxButtons.OKCancel: case MessageBoxButtons.YesNoCancel: result = DialogResult.Cancel; break; } } return(result); }
protected void OnButtonCloseClicked(object sender, EventArgs e) { //Check if preferences are valid if (pathFileChooserButton.Filename != null) { this.Respond(Gtk.ResponseType.Close); } else { Gtk.MessageDialog mes = new Gtk.MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, Mono.Unix.Catalog.GetString("You must choose a valid path for registry files.")); if ((Gtk.ResponseType)mes.Run() == Gtk.ResponseType.Ok) { mes.Destroy(); } } }
void HandleExitActivated(object sender, EventArgs e) { Gtk.MessageDialog md = new Gtk.MessageDialog(mainWindow, Gtk.DialogFlags.DestroyWithParent | Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.OkCancel, "Are you sure to quit?"); md.Response += delegate(object o, Gtk.ResponseArgs response) { if (response.ResponseId == Gtk.ResponseType.Ok) { mainApp.DisableQuit(true); } }; md.Run(); md.Destroy(); }
public override void Close() { Trace.Call(); // show warning if there are open chats (besides protocol chat) var ownedChats = 0; foreach (var chatView in Frontend.MainWindow.ChatViewManager.Chats) { if (chatView.ProtocolManager == ProtocolManager) { ownedChats++; } } if (ownedChats > 1) { Gtk.MessageDialog md = new Gtk.MessageDialog( Frontend.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Closing the protocol chat will also close all open chats connected to it!\n" + "Are you sure you want to do this?")); int result = md.Run(); md.Destroy(); if ((Gtk.ResponseType)result != Gtk.ResponseType.Yes) { return; } } ThreadPool.QueueUserWorkItem(delegate { try { // no need to call base.Close() as CommandNetwork() will // deal with it Frontend.Session.CommandNetwork( new CommandModel( Frontend.FrontendManager, ChatModel, "close" ) ); } catch (Exception ex) { Frontend.ShowException(ex); } }); }
void Uploader_Completed(object sender, UploadCompletedEventArgs e) { Gtk.Application.Invoke(delegate { _uploadFinished = true; if (!e.Canceled) { string newLine = Environment.NewLine; Gtk.MessageDialog dialog; if (e.HasError) { string txt = string.Format("An error occurred in the upload.{0}{0}You will need to upload your file manually:{0}{0}{1}", newLine, _fileName); dialog = new Gtk.MessageDialog( this, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, txt ); } else { using (Gtk.Clipboard clipboard = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false))) { clipboard.Text = e.Link; } string txt = string.Format("Done!{0}{0}{1}{0}{0}The link is already on your clipboard.", newLine, e.Link); dialog = new Gtk.MessageDialog( this, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, txt ); } dialog.Run(); dialog.Destroy(); } Destroy(); }); }
public void Run () { string text = TextEditorApp.MainWindow.View.Buffer.Text; XmlDocument doc = new XmlDocument (); try { doc.LoadXml (text); StringWriter sw = new StringWriter (); XmlTextWriter tw = new XmlTextWriter (sw); tw.Formatting = Formatting.Indented; doc.Save (tw); TextEditorApp.MainWindow.View.Buffer.Text = sw.ToString (); } catch { Gtk.MessageDialog dlg = new Gtk.MessageDialog (TextEditorApp.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Error parsing XML."); dlg.Run (); dlg.Destroy (); } }
/// <summary> /// Asks for confirmation through a dialog on the screen. /// </summary> /// <param name="main"> /// A <see cref="Window"/> that will be the parent of the dialog. /// </param> /// <param name="title"> /// A <see cref="System.String"/> containing the title of the dialog. /// </param> /// <param name="msg"> /// A <see cref="System.String"/> containing the question to show. /// </param> /// <returns> /// A <see cref="System.Boolean"/> containing true if the user chose yes, false otherwise /// </returns> public static bool Ask(Gtk.Window main, string title, string msg) { var dlg = new Gtk.MessageDialog( main, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, title ); dlg.Text = msg; dlg.Title = title + " Question"; Gtk.ResponseType res = (Gtk.ResponseType) dlg.Run(); dlg.Destroy(); return ( res == Gtk.ResponseType.Yes ); }
/// <summary> /// Asks for confirmation through a dialog on the screen. /// </summary> /// <param name="main"> /// A <see cref="Window"/> that will be the parent of the dialog. /// </param> /// <param name="title"> /// A <see cref="System.String"/> containing the title of the dialog. /// </param> /// <param name="msg"> /// A <see cref="System.String"/> containing the question to show. /// </param> /// <returns> /// A <see cref="System.Boolean"/> containing true if the user chose yes, false otherwise /// </returns> static public bool Ask(Gtk.Window main, string title, string msg) { var dlg = new Gtk.MessageDialog( main, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, title ); dlg.Text = msg; dlg.Title = title + " Question"; Gtk.ResponseType res = (Gtk.ResponseType)dlg.Run(); dlg.Destroy(); return(res == Gtk.ResponseType.Yes); }
internal void BeginComponentDrag(ProjectBackend project, string desc, string className, ObjectWrapper wrapper, Gtk.Widget source, Gdk.DragContext ctx, ComponentDropCallback callback) { if (wrapper != null) { Stetic.Wrapper.ActionPaletteItem it = new Stetic.Wrapper.ActionPaletteItem(Gtk.UIManagerItemType.Menuitem, null, (Wrapper.Action)wrapper); DND.Drag(source, ctx, it); } else if (callback != null) { DND.Drag(source, ctx, delegate() { callback(); // If the class name has an assembly name, remove it now int i = className.IndexOf(','); if (i != -1) { className = className.Substring(0, i); } ClassDescriptor cls = Registry.LookupClassByName(className); if (cls != null) { return(cls.NewInstance(project) as Gtk.Widget); } else { // Class not found, show an error string msg = string.Format("The widget '{0}' could not be found.", className); Gtk.MessageDialog dlg = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, msg); dlg.Run(); dlg.Destroy(); return(null); } }, (desc != null && desc.Length > 0) ? desc : className ); } else { ClassDescriptor cls = Registry.LookupClassByName(className); DND.Drag(source, ctx, cls.NewInstance(project) as Gtk.Widget); } }
private bool validateEntry() { if (String.IsNullOrEmpty(nameEntry.Text)) { Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, "The name field is required."); msg.Run(); msg.Hide(); msg.Dispose(); return(false); } /*if (!locationWidget.Latitude.ValidateEntry()) * return false; * if (!locationWidget.Longitude.ValidateEntry()) * return false;*/ return(true); }
protected void AcceptButtonClicked(object sender, EventArgs e) { try { Dbcon.Open(); Dbcmd = new MySqlCommand(query, Dbcon); Dbcmd.Parameters.AddWithValue("@id1", IniEntry.Text); Dbcmd.Parameters.AddWithValue("@id2", FinEntry.Text); Dbcmd.Parameters.AddWithValue("@cost", CostEntry.Text); Dbcmd.ExecuteNonQuery(); Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, "Arista insertada exitosamente"); msg.Run(); msg.Destroy(); this.Destroy(); } catch (Exception ex) { Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, "Error al insertar la Arista\n" + ex.StackTrace); msg.Run(); msg.Destroy(); } }
void on_ExportButton_clicked(object sender, EventArgs args) { if (this.exporter != null) { var messageDlg = new Gtk.MessageDialog( BooruApp.BooruApplication.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, "Cancel export?" ); messageDlg.SecondaryText = "Do you want to cancel the currently running export?"; int result = messageDlg.Run(); messageDlg.Destroy(); if (result == (int)Gtk.ResponseType.Yes) { this.exporter.Abort(); this.exporter = null; this.ExportProgress.Visible = false; } return; } string folderPath; if (SelectExportPathDialog.SelectPath(out folderPath)) { int exportedCount = 0; this.exporter = new ImageExporter(this.store, folderPath); this.exporter.Exported += () => { exportedCount++; BooruApp.BooruApplication.TaskRunner.StartTaskMainThread("Update export progress bar", () => { this.ExportProgress.Fraction = exportedCount / (float)this.foundImageCount; }); }; this.exporter.Finished += () => { this.exporter = null; }; this.exporter.Start(); } }
void VerificaTabla() { cnx.Open(); try { string tabla = "CREATE TABLE IF NOT EXISTS CONVERSACION (CLAVE INTEGER PRIMARY KEY AUTOINCREMENT, FECHA TEXT NOT NULL, NOMBRE TEXT NOT NULL, MENSAJE TEXT NOT NULL);"; SQLiteCommand cmd = new SQLiteCommand(tabla, cnx); cmd.ExecuteNonQuery(); } catch (Exception e) { Gtk.MessageDialog msg = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, "No se pudo crear la tabla"); msg.Title = "Error Tabla"; msg.Run(); msg.Destroy(); } cnx.Close(); }
public void Run() { string text = TextEditorApp.MainWindow.View.Buffer.Text; XmlDocument doc = new XmlDocument(); try { doc.LoadXml(text); StringWriter sw = new StringWriter(); XmlTextWriter tw = new XmlTextWriter(sw); tw.Formatting = Formatting.Indented; doc.Save(tw); TextEditorApp.MainWindow.View.Buffer.Text = sw.ToString(); } catch { Gtk.MessageDialog dlg = new Gtk.MessageDialog(TextEditorApp.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Error parsing XML."); dlg.Run(); dlg.Destroy(); } }
protected void CreateButtonPressed(object o, EventArgs args) { try { Dbcon.Open(); Dbcmd = new MySqlCommand(query, Dbcon); Dbcmd.Parameters.AddWithValue("@id", IdEntry.Text); Dbcmd.Parameters.AddWithValue("@name", NameEntry.Text); Dbcmd.Parameters.AddWithValue("@lat", LatEntry.Text); Dbcmd.Parameters.AddWithValue("@lon", LonEntry.Text); Dbcmd.ExecuteNonQuery(); Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, "Nodo insertado exitosamente"); msg.Run(); msg.Destroy(); this.Destroy(); } catch (Exception e) { Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, "Error al insertar el Nodo\n" + e.StackTrace); msg.Run(); msg.Destroy(); } }
private void _OnSwitchRemoteEngineButtonClicked(object obj, EventArgs args) { Trace.Call(obj, args); try { Gtk.MessageDialog md = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Switching the remote engine will disconnect you from the current engine!\n" + "Are you sure you want to do this?")); int result = md.Run(); md.Destroy(); if ((Gtk.ResponseType)result == Gtk.ResponseType.Yes) { Frontend.DisconnectEngineFromGUI(); Frontend.ShowEngineManagerDialog(); } } catch (Exception ex) { Frontend.ShowException(this, ex); } }
public DialogResult ShowDialog(Control parent) { Gtk.Widget c = (parent == null) ? null : (Gtk.Widget)parent.ControlObject; while (!(c is Gtk.Window) && c != null) { c = c.Parent; } control = new Gtk.MessageDialog((Gtk.Window)c, Gtk.DialogFlags.Modal, Convert(Type), Gtk.ButtonsType.Ok, false, Text); control.TypeHint = Gdk.WindowTypeHint.Dialog; var caption = Caption ?? ((parent != null && parent.ParentWindow != null) ? parent.ParentWindow.Title : null); if (!string.IsNullOrEmpty(caption)) { control.Title = caption; } int ret = control.Run(); control.Destroy(); return(Generator.Convert((Gtk.ResponseType)ret)); }
private void CalibrateWiimote() { IWiimote wiimote = (IWiimote)Device; ReportingMode oldReportingMode = wiimote.ReportingMode; wiimote.SetReportingMode(ReportingMode.ButtonsAccelerometer); AccelerometerAxes <ushort> raw = wiimote.Accelerometer.Raw; Gtk.MessageDialog dialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.OkCancel, false, "Place the wiimote on a table.", new object[0]); if (dialog.Run() == -5) { ushort xZero, yZero, zZero, xOne, yOne, zOne = 0; xZero = raw.X; yZero = raw.Y; zOne = raw.Z; dialog.Markup = "Place the wiimote on its left side."; if (dialog.Run() == -5) { xOne = raw.X; zZero = raw.Z; // Invert zOne (so that the values are negated). zOne = (ushort)(zZero - (zOne - zZero)); dialog.Markup = "Place the wiimote on its lower side, so that it points up."; if (dialog.Run() == -5) { yOne = raw.Y; wiimote.WriteMemory(0x16, new byte[] { (byte)xZero, (byte)yZero, (byte)zZero, 0, (byte)xOne, (byte)yOne, (byte)zOne, 0 }, 0, 8); wiimote.Initialize(); } } } dialog.Destroy(); wiimote.SetReportingMode(oldReportingMode); }
public SaveCheckDialogResult ShowSaveCheckDialog() { Gtk.MessageDialog saveCheckDialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, false, "The current document has unsaved changes. Do you wish to save those now?"); saveCheckDialog.AddButton("Cancel", Gtk.ResponseType.Cancel); SaveCheckDialogResult result = SaveCheckDialogResult.Cancel; int dialogResult = saveCheckDialog.Run(); if ((int)Gtk.ResponseType.Yes == dialogResult) { result = SaveCheckDialogResult.Save; } else if ((int)Gtk.ResponseType.No == dialogResult) { result = SaveCheckDialogResult.NoSave; } saveCheckDialog.Destroy(); return result; }
protected void OnRemoveIcon(object ob, EventArgs args) { string name = customIconList.Selection; ProjectIconSet icon = project.IconFactory.GetIcon(name); if (icon != null) { Gtk.MessageDialog md = new Gtk.MessageDialog(dialog, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, string.Format(Catalog.GetString("Are you sure you want to delete the icon '{0}'"), icon.Name)); if (parent != null) { md.TransientFor = parent.Toplevel as Gtk.Window; } if (md.Run() == (int)Gtk.ResponseType.Yes) { project.IconFactory.Icons.Remove(icon); customIconList.Refresh(); project.Modified = true; } md.Destroy(); } }
private void _OnDeleteButtonPressed() { string msg = String.Format( _("Are you sure you want to delete the engine \"{0}\"?"), _SelectedEngine); Gtk.MessageDialog md = new Gtk.MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, msg); int res = md.Run(); md.Destroy(); if ((Gtk.ResponseType)res == Gtk.ResponseType.Yes) { _DeleteEngine(_SelectedEngine); _InitEngineList(); // Re-run the Dialog Run(); } }
public DialogResult ShowDialog(Control parent, MessageBoxButtons buttons) { Gtk.Widget c = (parent == null) ? null : (Gtk.Widget)parent.ControlObject; while (!(c is Gtk.Window) && c != null) { c = c.Parent; } control = new Gtk.MessageDialog((Gtk.Window)c, Gtk.DialogFlags.Modal, Convert (Type), Convert(buttons), false, Text); control.TypeHint = Gdk.WindowTypeHint.Dialog; var caption = Caption ?? ((parent != null && parent.ParentWindow != null) ? parent.ParentWindow.Title : null); if (!string.IsNullOrEmpty(caption)) control.Title = caption; if (buttons == MessageBoxButtons.YesNoCancel) { // must add cancel manually Gtk.Button b = (Gtk.Button)control.AddButton(Gtk.Stock.Cancel, (int)Gtk.ResponseType.Cancel); b.UseStock = true; } int ret = control.Run(); control.Destroy(); return Generator.Convert((Gtk.ResponseType)ret); }
void _forum_LoginEvent(object sender, LoginEventArgs e) { switch (e.LoginEventType) { case POG.Forum.LoginEventType.LoginFailure: { Gtk.MessageDialog msg = new Gtk.MessageDialog(this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Login failed! Check the username and password."); msg.Run(); msg.Destroy(); btnLogin.Sensitive = true; } break; case POG.Forum.LoginEventType.LoginSuccess: { btnLogin.Sensitive = false; //txtUsername.ReadOnly = true; //txtPassword.ReadOnly = true; //txtPassword.PasswordChar = '*'; if (chkRememberMe.Active) { } //DialogResult = System.Windows.Forms.DialogResult.OK; } break; case POG.Forum.LoginEventType.LogoutSuccess: { btnLogin.Sensitive = true; txtUsername.Text = ""; txtPassword.Text = ""; //txtUsername.ReadOnly = false; //txtPassword.ReadOnly = false; //txtPassword.PasswordChar = '\0'; } break; } }
protected void OnSwitchRemoteEngineActionActivated(object sender, EventArgs e) { Trace.Call(sender, e); try { var dialog = new Gtk.MessageDialog( Parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Switching the remote engine will disconnect you from the current engine!\n" + "Are you sure you want to do this?") ); int result = dialog.Run(); dialog.Destroy(); if ((Gtk.ResponseType)result == Gtk.ResponseType.Yes) { Frontend.DisconnectEngineFromGUI(); Frontend.ShowEngineManagerDialog(); } } catch (Exception ex) { Frontend.ShowException(Parent, ex); } }
public SaveCheckDialogResult ShowSaveCheckDialog() { Gtk.MessageDialog saveCheckDialog = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, false, "The current document has unsaved changes. Do you wish to save those now?"); saveCheckDialog.AddButton("Cancel", Gtk.ResponseType.Cancel); SaveCheckDialogResult result = SaveCheckDialogResult.Cancel; int dialogResult = saveCheckDialog.Run(); if ((int)Gtk.ResponseType.Yes == dialogResult) { result = SaveCheckDialogResult.Save; } else if ((int)Gtk.ResponseType.No == dialogResult) { result = SaveCheckDialogResult.NoSave; } saveCheckDialog.Destroy(); return(result); }
private static bool CheckFrontendManagerStatus() { Trace.Call(); if (_FrontendManager == null) { // we lost the frontend manager, nothing to check return(false); } if (_FrontendManager.IsAlive) { // everything is fine return(true); } #if LOG4NET _Logger.Error("CheckFrontendManagerStatus(): frontend manager is not alive anymore!"); #endif Gtk.Application.Invoke(delegate { Gtk.MessageDialog md = new Gtk.MessageDialog(_MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.OkCancel, _("The server has lost the connection to the frontend.\nDo you want to reconnect now?")); Gtk.ResponseType res = (Gtk.ResponseType)md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Ok) { // the frontend is unusable in this state -> say good bye Frontend.Quit(); return; } Frontend.ReconnectEngineToGUI(); }); return(false); }
void on_okButton_clicked(object o, EventArgs args) { if (Core.Settings.KeyEncrypted && !Core.Settings.CheckKeyPassword(oldPasswordEntry.Text)) { Gui.ShowErrorDialog("Old password incorrect"); oldPasswordEntry.GrabFocus(); return; } if (newPasswordEntry.Text != confirmPasswordEntry.Text) { Gui.ShowErrorDialog("New passwords do not match"); newPasswordEntry.GrabFocus(); return; } if (newPasswordEntry.Text == String.Empty) { var dialog = new Gtk.MessageDialog(base.Window, Gtk.DialogFlags.Modal, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, "Are you sure you don't want to set a password?"); dialog.Show(); int r = dialog.Run(); dialog.Destroy(); if (r != (int)Gtk.ResponseType.Yes) { return; } } Core.Settings.ChangeKeyPassword(newPasswordEntry.Text); if (!Core.Settings.FirstRun) { Gui.ShowMessageDialog("Your password has been changed."); } Dialog.Respond(Gtk.ResponseType.Ok); }
public bool ValidateEntry() { try { int degrees = int.Parse(degreeEntry.Text, CultureInfo.InvariantCulture); double minutes = double.Parse(minuteEntry.Text, CultureInfo.InvariantCulture); if (degrees < 0 || minutes < 0) { throw new Exception(); } return(true); } catch (Exception) { Gtk.MessageDialog dlg = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, Catalog.GetString("Invalid Coordinate")); dlg.Run(); dlg.Hide(); dlg.Dispose(); return(false); } }
public static void Run (string file) { ICompiler[] compilers = (ICompiler[]) AddinManager.GetExtensionObjects (typeof(ICompiler)); ICompiler compiler = null; foreach (ICompiler comp in compilers) { if (comp.CanCompile (file)) { compiler = comp; break; } } if (compiler == null) { string msg = "No compiler available for this kind of file."; Gtk.MessageDialog dlg = new Gtk.MessageDialog (TextEditorApp.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, msg); dlg.Run (); dlg.Destroy (); return; } string messages = compiler.Compile (file, file + ".exe"); TextEditorApp.MainWindow.ConsoleWrite ("Compilation finished.\n"); TextEditorApp.MainWindow.ConsoleWrite (messages); }
public static void Load() { try { SetDefaultValues(); using (FileStream stream = new FileStream(SettingsPath, FileMode.Open)) { BinaryFormatter bin = new BinaryFormatter(); HelperClass hc = (HelperClass)bin.Deserialize(stream); hc.PushValues(); } } catch (Exception ex) { Gtk.MessageDialog md = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, "Couldn´t read Settings!" + Environment.NewLine + ex.Message); md.Title = "Error"; md.AddButton("Restore Settings?", Gtk.ResponseType.Yes); Gtk.ResponseType result = (Gtk.ResponseType)md.Run(); md.Destroy(); if (result == Gtk.ResponseType.Yes) { Recreate(); } } }
public bool Escuchar() { try{ this.tcpLsn = new TcpListener(Convert.ToInt32(pto)); tcpLsn.Start(); tcpThd = new Thread(new ThreadStart(EsperarCliente)); tcpThd.Start(); Gtk.MessageDialog msg = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, "Se ha establecido la conexion"); msg.Title = "Conectado"; msg.Run(); msg.Destroy(); try { string cnxStr = "Data Source=CHAT.db;Version=3;New=True;Compress=True;"; cnx = new SQLiteConnection(cnxStr); //Crea la tabla VerificaTabla(); return(true); } catch (Exception e) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, "No se puede acceder a la base de datos\n" + e); m.Title = "Error en Base de Datos"; m.Run(); m.Destroy(); return(false); } } catch (Exception e) { Gtk.MessageDialog msg = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, "Ya estas conectado"); msg.Title = "Error"; msg.Run(); msg.Destroy(); return(false); } }
protected void OnSaveButtonClicked(object sender, System.EventArgs e) { object [] param = new object[4]; param[0] = "Cancel"; param[1] = Gtk.ResponseType.Cancel; param[2] = "Save"; param[3] = Gtk.ResponseType.Accept; Gtk.FileChooserDialog fc = new Gtk.FileChooserDialog("Save File As", null, Gtk.FileChooserAction.Save, param); if (fc.Run() == (int)Gtk.ResponseType.Accept) { try { Uri file = new Uri(fc.Filename); pdf.SaveACopy(file.AbsoluteUri); } catch (Exception ex) { Gtk.MessageDialog m = new Gtk.MessageDialog(null, Gtk.DialogFlags.Modal, Gtk.MessageType.Info, Gtk.ButtonsType.Ok, false, "Error Saving Copy of PDF." + System.Environment.NewLine + ex.Message); m.Run(); m.Destroy(); } } //Don't forget to call Destroy() or the FileChooserDialog window won't get closed. fc.Destroy(); }
private static bool CheckFrontendManagerStatus() { Trace.Call(); if (_FrontendManager == null) { // we lost the frontend manager, nothing to check return false; } if (_FrontendManager.IsAlive) { // everything is fine return true; } #if LOG4NET _Logger.Error("CheckFrontendManagerStatus(): frontend manager is not alive anymore!"); #endif Gtk.Application.Invoke(delegate { Gtk.MessageDialog md = new Gtk.MessageDialog(_MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.OkCancel, _("The server has lost the connection to the frontend.\nDo you want to reconnect now?")); Gtk.ResponseType res = (Gtk.ResponseType) md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Ok) { // the frontend is unusable in this state -> say good bye Frontend.Quit(); return; } Frontend.ReconnectEngineToGUI(); }); return false; }
protected virtual void LoadNotes() { Logger.Debug("Loading notes"); string [] files = Directory.GetFiles(notes_dir, "*.note"); foreach (string file_path in files) { try { Note note = Note.Load(file_path, this); if (note != null) { note.Renamed += OnNoteRename; note.Saved += OnNoteSave; note.BufferChanged += OnBufferChanged; notes.Add(note); } } catch (System.Xml.XmlException e) { Logger.Error("Error parsing note XML, skipping \"{0}\": {1}", file_path, e.Message); } catch (System.IO.IOException e) { Logger.Error("Note {0} can not be loaded - file corrupted?: {1}", file_path, e.Message); Gtk.MessageDialog md = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Skipping a note.\n {0} can not be loaded - Error loading file!", file_path ); md.Run(); md.Destroy(); } catch (System.UnauthorizedAccessException e) { Logger.Error("Note {0} can not be loaded - access denied: {1}", file_path, e.Message); Gtk.MessageDialog md = new Gtk.MessageDialog(null, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Skipping a note.\n {0} can not be loaded - Access denied!", file_path ); md.Run(); md.Destroy(); } } notes.Sort(new CompareDates()); // Update the trie so addins can access it, if they want. trie_controller.Update(); if (NotesLoaded != null) { NotesLoaded(this, EventArgs.Empty); } bool startup_notes_enabled = (bool) Preferences.Get(Preferences.ENABLE_STARTUP_NOTES); // Load all the addins for our notes. // Iterating through copy of notes list, because list may be // changed when loading addins. List <Note> notesCopy = new List <Note> (notes); foreach (Note note in notesCopy) { addin_mgr.LoadAddinsForNote(note); // Show all notes that were visible when tomboy was shut down if (note.IsOpenOnStartup) { if (startup_notes_enabled) { note.Window.Show(); } note.QueueSave(ChangeType.NoChange); } } // Make sure that a Start Note Uri is set in the preferences, and // make sure that the Uri is valid to prevent bug #508982. This // has to be done here for long-time Tomboy users who won't go // through the CreateStartNotes () process. if (StartNoteUri == String.Empty || FindByUri(StartNoteUri) == null) { // Attempt to find an existing Start Here note Note start_note = Find(Catalog.GetString("Start Here")); if (start_note != null) { Preferences.Set(Preferences.START_NOTE_URI, start_note.Uri); } } if (NotesLoaded != null) { NotesLoaded(this, EventArgs.Empty); } }
protected void OnChkSortToggled(object sender, System.EventArgs e) { if (!disableSettingsEvents) { cmbSort.Visible = chkSort.Active; if (chkSort.Active) { if (!disableSettingsEvents) { Gtk.MessageDialog d = new Gtk.MessageDialog (this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Question, Gtk.ButtonsType.YesNo, textSortDialogMsg); d.Modal = true; d.Title = textChkSort; Gtk.ResponseType answer = (Gtk.ResponseType)d.Run (); if (answer == Gtk.ResponseType.Yes) { SortMaster = true; lblWarnings.Text = textLogSortMaster + ": " + textOn; } else { SortMaster = false; lblWarnings.Text = textLogSortMaster + ": " + textOff; } d.Destroy (); } // effect sort on the Master Log, if desired if (SortMaster) { rewriteMasterLog (); } // sort the list, if filter is running if (enabled) { sortNeeded = true; // force the filter of the logs (arguments probably have the wrong values, but they aren't used by the code) this.OnTimedEvent (sender, null); } } else { lblWarnings.Text = ""; } // save settings writeSettings (); } }
private void _OnActivated(object sender, EventArgs e) { Trace.Call(sender, e); try { if (!(Text.Length > 0)) { return; } if (ChatViewManager.CurrentChatView == null) { return; } if (Text.IndexOf("\n") != -1) { var text = Text.TrimEnd('\n'); // seems to be a paste, so let's break it apart string[] msgParts = text.Split(new char[] {'\n'}); if (msgParts.Length > 3) { string msg = String.Format(_("You are going to paste {0} lines. Do you want to continue?"), msgParts.Length); Gtk.MessageDialog md = new Gtk.MessageDialog( Frontend.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, msg); Gtk.ResponseType res = (Gtk.ResponseType)md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Yes) { Text = String.Empty; return; } } if (Frontend.EngineProtocolVersion < new Version(0,8,11)) { foreach (string msg in msgParts) { ExecuteCommand(msg); } } else { // new engines know how to handle messages containing \n ExecuteCommand(text); } } else { ExecuteCommand(Text); AddToHistory(Text, _History.Count - _HistoryPosition); // reset history position to last entry _HistoryPosition = _History.Count - 1; } Text = String.Empty; } catch (Exception ex) { #if LOG4NET _Logger.Error(ex); #endif Frontend.ShowException(null, ex); } }
protected virtual void OnRemoveButtonClicked(object sender, System.EventArgs e) { Trace.Call(sender, e); try { Gtk.TreeIter iter; if (!f_TreeView.Selection.GetSelected(out iter)) { return; } Gtk.MessageDialog md = new Gtk.MessageDialog( f_Parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Are you sure you want to delete the selected filter?") ); int result = md.Run(); md.Destroy(); if (result != (int) Gtk.ResponseType.Yes) { return; } f_ListStore.Remove(ref iter); OnChanged(EventArgs.Empty); } catch (Exception ex) { Frontend.ShowException(ex); } }
protected virtual void OnFindButtonClicked(object sender, System.EventArgs e) { Trace.Call(sender, e); try { string nameFilter = f_NameEntry.Text.Trim(); if (!(Frontend.EngineVersion >= new Version("0.8.1")) && String.IsNullOrEmpty(nameFilter)) { Gtk.MessageDialog md = new Gtk.MessageDialog( this, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Searching for group chats without a filter is not " + "recommended. This may take a while, or may not " + "work at all.\n" + "Do you wish to continue?") ); int result = md.Run(); md.Destroy(); if (result != (int)Gtk.ResponseType.Yes) { return; } } f_ListStore.Clear(); CancelFindThread(); GroupChatModel filter = new GroupChatModel(null, nameFilter, null); f_FindThread = new Thread(new ThreadStart(delegate { try { Gtk.Application.Invoke(delegate { GdkWindow.Cursor = new Gdk.Cursor(Gdk.CursorType.Watch); }); IList <GroupChatModel> chats = f_ProtocolManager.FindGroupChats(filter); Gtk.Application.Invoke(delegate { Gdk.Color bgColor = f_TreeView.Style.Background(Gtk.StateType.Normal); foreach (GroupChatModel chat in chats) { f_ListStore.AppendValues( chat, chat.PersonCount, chat.Name, PangoTools.ToMarkup(chat.Topic, bgColor) ); } }); } catch (ThreadAbortException) { #if LOG4NET f_Logger.Debug("FindThread aborted"); #endif Thread.ResetAbort(); } catch (Exception ex) { Frontend.ShowError(this, _("Error while fetching the list of group chats from the server."), ex); } finally { Gtk.Application.Invoke(delegate { // if the dialog is gone the GdkWindow might be destroyed already if (GdkWindow != null) { GdkWindow.Cursor = null; } }); } })); f_FindThread.IsBackground = true; f_FindThread.Start(); } catch (Exception ex) { Frontend.ShowException(ex); } }
protected virtual void OnRowActivated(object o, Gtk.RowActivatedArgs args) { Debug.WriteLine(5, "Row activated"); Gtk.TreeIter iter; BibtexRecord record; if (!Model.GetIter(out iter, args.Path)) { Debug.WriteLine(5, "Failed to open record because of GetIter faliure"); return; } record = (BibtexRecord)Model.GetValue(iter, 0); string uriString = record.GetURI(); if (string.IsNullOrEmpty(uriString)) { Debug.WriteLine(5, "Selected record does not have a URI field"); return; } var uri = new Uri(uriString); var list = new GLib.List(typeof(String)); list.Append(uriString); if (System.IO.File.Exists(uri.LocalPath)) { bool uncertain; string result; byte data; ulong data_size; data_size = 0; if (Environment.OSVersion.Platform == PlatformID.Win32NT) { // TODO: Does this work under linux? System.Diagnostics.Process.Start(@uri.ToString()); } else { result = GLib.ContentType.Guess(uri.ToString(), out data, data_size, out uncertain); if (result != null & result != "" & !uncertain) { GLib.IAppInfo app; app = GLib.AppInfoAdapter.GetDefaultForType(result, true); if (app != null) { GLib.AppLaunchContext appContext; appContext = new GLib.AppLaunchContext(); app.LaunchUris(list, appContext); return; } } } } else { var md = new Gtk.MessageDialog((Gtk.Window)Toplevel, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "Error loading associated file:\n" + uri.LocalPath); md.Run(); md.Destroy(); Debug.WriteLine(0, "Error loading associated file:\n{0}", uri.LocalPath); } }
public static void ShowError(Gtk.Window parent, string msg, Exception ex) { Trace.Call(parent, msg, ex != null ? ex.GetType() : null); if (!IsGuiThread()) { Gtk.Application.Invoke(delegate { ShowError(parent, msg, ex); }); return; } if (ex != null) { #if LOG4NET _Logger.Error("ShowError(): Exception: ", ex); #endif msg += "\n" + String.Format(_("Cause: {0}"), ex.Message); } if (parent == null) { parent = _MainWindow; } Gtk.MessageDialog md = new Gtk.MessageDialog( parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, false, msg ); md.Run(); md.Destroy(); }
bool CheckBug77135 () { try { // Check for bug 77135. Some versions of gnome-vfs2 and libgda // make MD crash in the file open dialog or in FileIconLoader. // Only in Suse. string path = "/etc/SuSE-release"; if (!File.Exists (path)) return true; // Only run the check for SUSE 10 StreamReader sr = File.OpenText (path); string txt = sr.ReadToEnd (); sr.Close (); if (txt.IndexOf ("SUSE LINUX 10") == -1) return true; string current_libgda; string current_gnomevfs; string required_libgda = "1.3.91.5.4"; string required_gnomevfs = "2.12.0.9.2"; StringWriter sw = new StringWriter (); ProcessWrapper pw = Runtime.ProcessService.StartProcess ("rpm", "--qf %{version}.%{release} -q libgda", null, sw, null, null); pw.WaitForOutput (); current_libgda = sw.ToString ().Trim (' ','\n'); sw = new StringWriter (); pw = Runtime.ProcessService.StartProcess ("rpm", "--qf %{version}.%{release} -q gnome-vfs2", null, sw, null, null); pw.WaitForOutput (); current_gnomevfs = sw.ToString ().Trim (' ','\n'); bool fail1 = Addin.CompareVersions (current_libgda, required_libgda) == 1; bool fail2 = Addin.CompareVersions (current_gnomevfs, required_gnomevfs) == 1; if (fail1 || fail2) { string msg = GettextCatalog.GetString ("Some packages installed in your system are not compatible with MonoDevelop:\n"); if (fail1) msg += "\nlibgda " + current_libgda + " ("+ GettextCatalog.GetString ("version required: {0}", required_libgda) + ")"; if (fail2) msg += "\ngnome-vfs2 " + current_gnomevfs + " ("+ GettextCatalog.GetString ("version required: {0}", required_gnomevfs) + ")"; msg += "\n\n"; msg += GettextCatalog.GetString ("You need to upgrade the previous packages to start using MonoDevelop."); SplashScreenForm.SplashScreen.Hide (); Gtk.MessageDialog dlg = new Gtk.MessageDialog (null, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Ok, msg); dlg.Run (); dlg.Destroy (); return false; } else return true; } catch (Exception ex) { // Just ignore for now. Console.WriteLine (ex); return true; } }
protected void OnSaveNoteBtnClicked(object sender, EventArgs e) { var note = (NoteNode)listView.NodeSelection.SelectedNode; if (note == null) { var md = new Gtk.MessageDialog( this, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.Close, "No note selected for saving!" ); md.Run(); md.Destroy(); } else { note.Note.Content = noteView.Buffer.Text; } }
protected void OnUseLocalEngineActionActivated(object sender, EventArgs e) { Trace.Call(sender, e); try { var dialog = new Gtk.MessageDialog( Parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Switching to local engine will disconnect you from the current engine!\n"+ "Are you sure you want to do this?") ); int result = dialog.Run(); dialog.Destroy(); if ((Gtk.ResponseType)result == Gtk.ResponseType.Yes) { Frontend.DisconnectEngineFromGUI(); Frontend.InitLocalEngine(); Frontend.ConnectEngineToGUI(); } } catch (Exception ex) { Frontend.ShowException(Parent, ex); } }
public static bool ShowReconnectDialog(Gtk.Window parent) { Trace.Call(parent); Gtk.MessageDialog md = new Gtk.MessageDialog(parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.OkCancel, _("The frontend has lost the connection to the server.\nDo you want to reconnect now?")); Gtk.ResponseType res = (Gtk.ResponseType) md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Ok) { Quit(); return false; } while (true) { try { Frontend.ReconnectEngineToGUI(); // yay, we made it _InReconnectHandler = false; break; } catch (Exception e) { #if LOG4NET _Logger.Error("ShowReconnectDialog(): Reconnect failed, exception:", e); #endif var msg = _("Reconnecting to the server has failed.\nDo you want to try again?"); // the parent window is hidden (MainWindow) at this // point thus modal doesn't make sense here md = new Gtk.MessageDialog(parent, Gtk.DialogFlags.DestroyWithParent, Gtk.MessageType.Error, Gtk.ButtonsType.OkCancel, msg); md.SetPosition(Gtk.WindowPosition.CenterAlways); res = (Gtk.ResponseType) md.Run(); md.Destroy(); if (res != Gtk.ResponseType.Ok) { // give up Quit(); return false; } } } return true; }
public static void ShowException(Gtk.Window parent, Exception ex) { Trace.Call(parent, ex != null ? ex.GetType() : null); if (parent == null) { parent = _MainWindow; } if (!IsGuiThread()) { Gtk.Application.Invoke(delegate { ShowException(parent, ex); }); return; } if (ex is NotImplementedException) { // don't quit on NotImplementedException ShowError(parent, ex); return; } #if LOG4NET _Logger.Error("ShowException(): Exception:", ex); #endif // HACK: ugly MS .NET throws underlaying SocketException instead of // wrapping those into a nice RemotingException, see: // http://projects.qnetp.net/issues/show/232 if (ex is System.Runtime.Remoting.RemotingException || ex is System.Net.Sockets.SocketException) { if (_InReconnectHandler || _InCrashHandler) { // one reconnect is good enough and a crash we won't survive return; } Frontend.ReconnectEngineToGUI(); return; } if (_InCrashHandler) { // only show not more than one crash dialog, else the user // will not be able to copy/paste the stack trace and stuff return; } _InCrashHandler = true; // we are using a remote engine, we are not running on Mono and an // IConvertible issue happened if (!Frontend.IsLocalEngine && Type.GetType("Mono.Runtime") == null && ex is InvalidCastException && ex.Message.Contains("IConvertible")) { var msg = _( "A fatal error has been detected because of a protocol incompatibility with the smuxi-server!\n\n" + "Please install Mono on the frontend side so it matches the smuxi-server.\n\n" + "More details about this issue can be found here:\n" + "https://smuxi.im/issues/show/589" ); var dialog = new Gtk.MessageDialog( parent, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, true, msg ); dialog.Run(); dialog.Destroy(); Quit(); return; } CrashDialog cd = new CrashDialog(parent, ex); cd.Run(); cd.Destroy(); if (SysDiag.Debugger.IsAttached) { // allow the debugger to examine the situation //SysDiag.Debugger.Break(); // HACK: Break() would be nicer but crashes the runtime throw ex; } Quit(); }
void ClearRecent () { Gtk.MessageDialog md = new Gtk.MessageDialog (null, 0, Gtk.MessageType.Warning, Gtk.ButtonsType.None, "<b><big>" + Catalog.GetString ("Clear the Recent Documents list?") + "</big></b>"); md.Title = Catalog.GetString ("Clear Recent Documents"); md.Icon = DockServices.Drawing.LoadIcon ("docky", 22); md.SecondaryText = Catalog.GetString ("If you clear the Recent Documents list, you clear the following:\n" + "\u2022 All items from the Places \u2192 Recent Documents menu item.\n" + "\u2022 All items from the recent documents list in all applications."); md.Modal = false; md.AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel); md.AddButton (Gtk.Stock.Clear, Gtk.ResponseType.Ok); md.DefaultResponse = Gtk.ResponseType.Ok; md.Response += (o, args) => { if (args.ResponseId != Gtk.ResponseType.Cancel) Gtk.RecentManager.Default.PurgeItems (); md.Destroy (); }; md.Show (); }
public override void Close() { Trace.Call(); // show warning if there are open chats (besides protocol chat) var ownedChats = 0; foreach (var chatView in Frontend.MainWindow.ChatViewManager.Chats) { if (chatView.ProtocolManager == ProtocolManager) { ownedChats++; } } if (ownedChats > 1) { Gtk.MessageDialog md = new Gtk.MessageDialog( Frontend.MainWindow, Gtk.DialogFlags.Modal, Gtk.MessageType.Warning, Gtk.ButtonsType.YesNo, _("Closing the protocol chat will also close all open chats connected to it!\n"+ "Are you sure you want to do this?")); int result = md.Run(); md.Destroy(); if ((Gtk.ResponseType) result != Gtk.ResponseType.Yes) { return; } } ThreadPool.QueueUserWorkItem(delegate { try { // no need to call base.Close() as CommandNetwork() will // deal with it Frontend.Session.CommandNetwork( new CommandModel( Frontend.FrontendManager, ChatModel, "close" ) ); } catch (Exception ex) { Frontend.ShowException(ex); } }); }
private void _OnConnectButtonPressed() { if (_SelectedEngine == null || _SelectedEngine == String.Empty) { Gtk.MessageDialog md = new Gtk.MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, _("Please select an engine!")); md.Run(); md.Destroy(); // Re-run the Dialog Run(); return; } if (_SelectedEngine == "<" + _("Local Engine") + ">") { Frontend.InitLocalEngine(); Frontend.ConnectEngineToGUI(); Destroy(); return; } string engine = _SelectedEngine; try { _EngineManager.Connect(engine); var engineVersion = _EngineManager.EngineVersion; var frontendVersion = Frontend.Version; if ((engineVersion >= new Version("0.8") && engineVersion.Major != frontendVersion.Major) || (engineVersion < new Version("0.8") && (engineVersion.Major != frontendVersion.Major || engineVersion.Minor != frontendVersion.Minor))) { throw new ApplicationException(String.Format( _("Your frontend version ({0}) does not match the engine version ({1})!"), Frontend.Version, _EngineManager.EngineVersion)); } Frontend.Session = _EngineManager.Session; Frontend.UserConfig = _EngineManager.UserConfig; Frontend.EngineVersion = _EngineManager.EngineVersion; Frontend.ConnectEngineToGUI(); } catch (Exception ex) { #if LOG4NET _Logger.Error(ex); #endif // clean-up try { _EngineManager.Disconnect(); } catch (Exception disEx) { #if LOG4NET _Logger.Error(disEx); #endif } string error_msg = ex.Message + "\n"; if (ex.InnerException != null) { error_msg += " [" + ex.InnerException.Message + "]\n"; } string msg; msg = _("An error occurred while connecting to the engine!") + "\n\n"; msg += String.Format(_("Engine URL: {0}") + "\n", _EngineManager.EngineUrl); msg += String.Format(_("Error: {0}"), error_msg); Gtk.MessageDialog md = new Gtk.MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, msg); md.Run(); md.Destroy(); // Re-run the Dialog Run(); } }