summaryrefslogtreecommitdiff
path: root/UConnectionManager.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-12-13 14:32:58 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-12-13 14:32:58 +0100
commit0f7616a007edaa1d19c4672a4fd390c072b1eba6 (patch)
treea1524927d8986bb54345c47ded84bb3c2a9559c2 /UConnectionManager.pas
parentae0047b8a5fa76ea76c66d8c5c580eba39178755 (diff)
downloadtuxcmd-0.6.74.tar.xz
Error system transformation to GErrorv0.6.74
Note that most coreworkers are broken at the moment.
Diffstat (limited to 'UConnectionManager.pas')
-rw-r--r--UConnectionManager.pas17
1 files changed, 12 insertions, 5 deletions
diff --git a/UConnectionManager.pas b/UConnectionManager.pas
index a89147d..7109cc3 100644
--- a/UConnectionManager.pas
+++ b/UConnectionManager.pas
@@ -66,7 +66,7 @@ type
Thread: TOpenConnectionThread;
SourcePanelEngine: TPanelEngine;
ConnectedEngine: TVFSEngine;
- function DoConnectInternal(const URI: string; Engine: TVFSEngine; VFSDialogsParentWindow: PGtkWidget; VFSQuickConnectMode: boolean): boolean;
+ function DoConnectInternal(const URI: string; Engine: TVFSEngine; VFSDialogsParentWindow: PGtkWidget; VFSQuickConnectMode: boolean; Error: PPGError): boolean;
end;
var
@@ -74,7 +74,7 @@ var
implementation
-uses ULocale, UCoreUtils, UConfig, UConnectionProperties, UGnome, UQuickConnect;
+uses ULocale, UCoreUtils, UConfig, UConnectionProperties, UGnome, UQuickConnect, UError;
procedure TFConnectionManager.FormCreate(Sender: TObject);
@@ -539,6 +539,7 @@ var Engine: TVFSEngine;
FActiveConnInfo: TConnMgrItem;
DontShowAgain: boolean;
res: TMessageButton;
+ Error: PGError;
begin
FActiveConnInfo := nil;
if ListView.Selected <> nil then FActiveConnInfo := ListView.Selected.AsPointer(0);
@@ -599,8 +600,10 @@ begin
Engine.Password := FActiveConnInfo.Password;
Engine.PasswordUsed := False;
- if not DoConnectInternal(UTF8ToStr(FActiveConnInfo.GetURI(False)), Engine, FWidget, False) then begin
- if not FSilenceError then Application.MessageBox(PGtkWindow(FWidget), LANGCouldntOpenURI, [mbOK], mbError, mbOK, mbOK);
+ Error := nil;
+ if not DoConnectInternal(UTF8ToStr(FActiveConnInfo.GetURI(False)), Engine, FWidget, False, @Error) then begin
+ if not FSilenceError then
+ ShowError(Self, 'Couldn''t open the URI specified', Error);
ListViewTable.Enabled := True;
CloseButton.Enabled := True;
ConnectButton.Enabled := True;
@@ -609,6 +612,8 @@ begin
StopButton.Enabled := False;
ListView.SetFocus;
Engine.Free;
+ if Error <> nil then
+ g_error_free(Error);
Exit;
end;
@@ -619,7 +624,7 @@ begin
ModalResult := mbOK;
end;
-function TFConnectionManager.DoConnectInternal(const URI: string; Engine: TVFSEngine; VFSDialogsParentWindow: PGtkWidget; VFSQuickConnectMode: boolean): boolean;
+function TFConnectionManager.DoConnectInternal(const URI: string; Engine: TVFSEngine; VFSDialogsParentWindow: PGtkWidget; VFSQuickConnectMode: boolean; Error: PPGError): boolean;
begin
Result := False;
FSilenceError := False;
@@ -658,6 +663,8 @@ begin
end;
until Thread.Finished;
Result := Thread.OpenResult;
+ if Thread.OpenError <> nil then
+ g_propagate_error(Error, Thread.OpenError);
FSilenceError := Thread.VFSCallbackCancelled;
Thread.Free;
Thread := nil;