diff options
Diffstat (limited to 'UError.pas')
| -rw-r--r-- | UError.pas | 69 |
1 files changed, 32 insertions, 37 deletions
@@ -21,7 +21,7 @@ unit UError; interface -uses glib2, gtk2, Classes, SysUtils, ULibc, GTKForms; +uses lazglib2, gtk2, Classes, SysUtils, GTKForms; type TuxcmdErrorEnum = ( TUXCMD_ERROR_CANCELLED, @@ -154,10 +154,8 @@ end; function g_io_error_from_errno(err_no: gint): GIOErrorEnum; begin // Prefer native library call - if @__g_io_error_from_errno <> nil then begin - Result := __g_io_error_from_errno(err_no); - Exit; - end; + Result := g_io_error_from_errno(err_no); +(* case err_no of EEXIST: Result := G_IO_ERROR_EXISTS; EISDIR: Result := G_IO_ERROR_IS_DIRECTORY; @@ -199,12 +197,13 @@ begin ENOTSOCK: Result := G_IO_ERROR_INVALID_ARGUMENT; else Result := G_IO_ERROR_FAILED; end; +*) end; (********************************************************************************************************************************) procedure tuxcmd_set_error_from_exception(Error: PPGError; E: Exception); begin - g_set_error(Error, TUXCMD_ERROR, integer(TUXCMD_ERROR_EXCEPTION), 'Exception raised: %s', PChar(E.Message)); + g_set_error(Error, TUXCMD_ERROR, integer(TUXCMD_ERROR_EXCEPTION), 'Exception raised: %s', [PChar(E.Message)]); end; (********************************************************************************************************************************) @@ -214,47 +213,43 @@ var Dialog: PGtkWidget; begin if Error <> nil then error_str := Error^.message else error_str := ''; - if @gtk_message_dialog_new_with_markup <> nil - then dialog := gtk_message_dialog_new_with_markup (PGtkWindow(Parent.FWidget), GTK_DIALOG_MODAL or GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - '<span size="large" weight="ultrabold">%s</span>'#10#10'%s', - PChar(Text), error_str) - else dialog := gtk_message_dialog_new (PGtkWindow(Parent.FWidget), GTK_DIALOG_MODAL or GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, - '%s'#10#10'%s', PChar(Text), error_str); - gtk_window_set_title (PGtkWindow(dialog), ''); - gtk_dialog_run (PGtkDialog(Dialog)); - gtk_widget_destroy (PGtkWidget(Dialog)); + dialog := gtk_message_dialog_new_with_markup(PGtkWindow(Parent.FWidget), GTK_DIALOG_MODAL or GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, + '<span size="large" weight="ultrabold">%s</span>'#10#10'%s', + PChar(Text), error_str); + gtk_window_set_title(PGtkWindow(dialog), ''); + gtk_dialog_run(PGtkDialog(Dialog)); + gtk_widget_destroy(PGtkWidget(Dialog)); end; procedure PrefixTuxcmdError(Error: PPGError; const FileName: string); begin if (Error = nil) or (Error^ = nil) then Exit; - if (Error^.domain <> TUXCMD_ERROR) then Exit; - case TuxcmdErrorEnum(Error^.code) of - TUXCMD_ERROR_CHDIR: g_prefix_error(Error, 'Error changing directory to ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_OPENDIR: g_prefix_error(Error, 'Error opening directory ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_STAT: g_prefix_error(Error, 'Error getting file info for ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_MKDIR: g_prefix_error(Error, 'Error creating directory ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_REMOVE: g_prefix_error(Error, 'Error deleting ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_SYMLINK: g_prefix_error(Error, 'Error creating symlink ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_CHMOD: g_prefix_error(Error, 'Error changing permissions of ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_CHOWN: g_prefix_error(Error, 'Error changing owner/group of ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_RENAME: g_prefix_error(Error, 'Error renaming file ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_TIMESTAMPS: g_prefix_error(Error, 'Error changing timestamps of ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_OPEN_FILE: g_prefix_error(Error, 'Error opening file ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_READ_FILE: g_prefix_error(Error, 'Error reading file ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_WRITE_FILE: g_prefix_error(Error, 'Error writing file ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_CLOSE_FILE: g_prefix_error(Error, 'Error closing file ''%s'': ', StrToUTF8(PChar(FileName))); - TUXCMD_ERROR_SEEK: g_prefix_error(Error, 'Error seeking in file ''%s'': ', StrToUTF8(PChar(FileName))); + if ((Error^)^.domain <> TUXCMD_ERROR) then Exit; + case TuxcmdErrorEnum((Error^)^.code) of + TUXCMD_ERROR_CHDIR: g_prefix_error(Error, 'Error changing directory to ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_OPENDIR: g_prefix_error(Error, 'Error opening directory ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_STAT: g_prefix_error(Error, 'Error getting file info for ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_MKDIR: g_prefix_error(Error, 'Error creating directory ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_REMOVE: g_prefix_error(Error, 'Error deleting ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_SYMLINK: g_prefix_error(Error, 'Error creating symlink ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_CHMOD: g_prefix_error(Error, 'Error changing permissions of ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_CHOWN: g_prefix_error(Error, 'Error changing owner/group of ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_RENAME: g_prefix_error(Error, 'Error renaming file ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_TIMESTAMPS: g_prefix_error(Error, 'Error changing timestamps of ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_OPEN_FILE: g_prefix_error(Error, 'Error opening file ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_READ_FILE: g_prefix_error(Error, 'Error reading file ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_WRITE_FILE: g_prefix_error(Error, 'Error writing file ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_CLOSE_FILE: g_prefix_error(Error, 'Error closing file ''%s'': ', [StrToUTF8(PChar(FileName))]); + TUXCMD_ERROR_SEEK: g_prefix_error(Error, 'Error seeking in file ''%s'': ', [StrToUTF8(PChar(FileName))]); end; end; procedure VFSToTuxcmdError(Error: PPGError; Operation: TuxcmdErrorEnum); var OldError: PGError; begin - if (Error = nil) or (Error^ = nil) or (Error^.domain <> G_IO_ERROR) then Exit; - case GIOErrorEnum(Error^.code) of + if (Error = nil) or (Error^ = nil) or ((Error^)^.domain <> G_IO_ERROR) then Exit; + case GIOErrorEnum((Error^)^.code) of G_IO_ERROR_FAILED, G_IO_ERROR_NOT_FOUND, G_IO_ERROR_EXISTS, @@ -288,7 +283,7 @@ begin G_IO_ERROR_NO_SUCH_DEVICE: begin OldError := Error^; Error^ := nil; - g_set_error(Error, TUXCMD_ERROR, gint(Operation), '%s', OldError^.message); + g_set_error(Error, TUXCMD_ERROR, gint(Operation), '%s', [OldError^.message]); g_free (OldError); end; end; |
