Connection editor: Running a request that is not a SELECT now automatically updates the table list.
[DEVELOPMENT ENVIRONMENT] * NEW: Update French translation. * NEW: Connection editor: Running a request that is not a SELECT now automatically updates the table list. * NEW: Connection editor: Request duration is now displayed in the status bar. * NEW: Form editor: New layout icons.
|
@ -222,7 +222,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gambas3 3.15.90\n"
|
||||
"PO-Revision-Date: 2021-02-23 15:42 UTC\n"
|
||||
"PO-Revision-Date: 2021-02-26 10:47 UTC\n"
|
||||
"Last-Translator: Benoît Minisini <g4mba5@gmail.com>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -1186,7 +1186,7 @@ msgstr "URL du référentiel distant"
|
|||
msgid "A new Git repository will be created for this project."
|
||||
msgstr "Un nouveau référentiel Git sera créé pour ce projet."
|
||||
|
||||
#: CVersionControlGit.class:447 FColorChooser.form:62 FConnectionEditor.class:707 FCrash.form:91 FCreateFile.form:210 FFarmConfig.form:33 FFarmLogin.form:121 FFieldChooser.form:138 FFontChooser.form:34 FGotoLine.form:17 FImageOffsetSelection.form:27 FImageQuality.form:24 FImageResize.form:105 FImageRotate.form:26 FLayout.form:44 FList.form:122 FMakeExecutable.form:120 FMenu.form:417 FNewConnection.form:312 FNewTable.form:80 FNewTranslation.form:15 FPasteSpecial.form:80 FProjectProperty.form:1009 FProxy.form:63 FReportBorderChooser.form:54 FReportBoxShadowChooser.form:33 FReportBrushChooser.form:42 FReportCoordChooser.form:32 FReportPaddingChooser.form:69 FSelectComponent.form:34 FSelectExtraFile.form:37 FSelectIcon.form:105 FSelectLibrary.form:60 FSnippet.form:51 FTableChooser.form:62 FText.form:34 FVersionError.form:53 FWebFontChooser.form:123 Project.module:2619
|
||||
#: CVersionControlGit.class:447 FColorChooser.form:62 FConnectionEditor.class:720 FCrash.form:91 FCreateFile.form:210 FFarmConfig.form:33 FFarmLogin.form:121 FFieldChooser.form:138 FFontChooser.form:34 FGotoLine.form:17 FImageOffsetSelection.form:27 FImageQuality.form:24 FImageResize.form:105 FImageRotate.form:26 FLayout.form:44 FList.form:122 FMakeExecutable.form:120 FMenu.form:417 FNewConnection.form:312 FNewTable.form:80 FNewTranslation.form:15 FPasteSpecial.form:80 FProjectProperty.form:1009 FProxy.form:63 FReportBorderChooser.form:54 FReportBoxShadowChooser.form:33 FReportBrushChooser.form:42 FReportCoordChooser.form:32 FReportPaddingChooser.form:69 FSelectComponent.form:34 FSelectExtraFile.form:37 FSelectIcon.form:105 FSelectLibrary.form:60 FSnippet.form:51 FTableChooser.form:62 FText.form:34 FVersionError.form:53 FWebFontChooser.form:123 Project.module:2619
|
||||
msgid "OK"
|
||||
msgstr "OK"
|
||||
|
||||
|
@ -1194,7 +1194,7 @@ msgstr "OK"
|
|||
msgid "Solve conflict."
|
||||
msgstr "Résolution du conflit."
|
||||
|
||||
#: CVersionControlGit.class:510 FConnectionEditor.class:837 FProjectVersion.class:290 MConnection.module:141
|
||||
#: CVersionControlGit.class:510 FConnectionEditor.class:841 FProjectVersion.class:290 MConnection.module:141
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
|
@ -1673,91 +1673,95 @@ msgstr "&1 enregistrements"
|
|||
msgid "Unable to load table '&1'."
|
||||
msgstr "Impossible de charger la table « &1 »."
|
||||
|
||||
#: FConnectionEditor.class:715
|
||||
#: FConnectionEditor.class:700
|
||||
msgid "Running request"
|
||||
msgstr "Exécution de la requête"
|
||||
|
||||
#: FConnectionEditor.class:718
|
||||
msgid "Unable to run query."
|
||||
msgstr "Impossible d'exécuter la requête."
|
||||
|
||||
#: FConnectionEditor.class:717
|
||||
msgid "&1 s"
|
||||
msgstr "&1 s"
|
||||
#: FConnectionEditor.class:721 Project.module:2621
|
||||
msgid "(in &1 s)"
|
||||
msgstr "(en &1 s)"
|
||||
|
||||
#: FConnectionEditor.class:750
|
||||
#: FConnectionEditor.class:754
|
||||
msgid "unlimited"
|
||||
msgstr "illimité"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:149
|
||||
#: FConnectionEditor.class:841 MConnection.module:149
|
||||
msgid "Blob"
|
||||
msgstr "Blob"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:143
|
||||
#: FConnectionEditor.class:841 MConnection.module:143
|
||||
msgid "Boolean"
|
||||
msgstr "Booléen"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:139
|
||||
#: FConnectionEditor.class:841 MConnection.module:139
|
||||
msgid "Float"
|
||||
msgstr "Décimal"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:135
|
||||
#: FConnectionEditor.class:841 MConnection.module:135
|
||||
msgid "Integer"
|
||||
msgstr "Entier"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:137
|
||||
#: FConnectionEditor.class:841 MConnection.module:137
|
||||
msgid "Long"
|
||||
msgstr "Entier long"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:147
|
||||
#: FConnectionEditor.class:841 MConnection.module:147
|
||||
msgid "Serial"
|
||||
msgstr "Série"
|
||||
|
||||
#: FConnectionEditor.class:837 MConnection.module:145
|
||||
#: FConnectionEditor.class:841 MConnection.module:145
|
||||
msgid "String"
|
||||
msgstr "Chaîne"
|
||||
|
||||
#: FConnectionEditor.class:926
|
||||
#: FConnectionEditor.class:930
|
||||
msgid "This name is already in used."
|
||||
msgstr "Ce nom est déjà utilisé."
|
||||
|
||||
#: FConnectionEditor.class:951
|
||||
#: FConnectionEditor.class:955
|
||||
msgid "Please enter a number."
|
||||
msgstr "Veuillez saisir un nombre."
|
||||
|
||||
#: FConnectionEditor.class:956
|
||||
#: FConnectionEditor.class:960
|
||||
msgid "The length must be greater than 1 and lower than 255."
|
||||
msgstr "La longueur doit être comprise entre 1 et 255."
|
||||
|
||||
#: FConnectionEditor.class:980
|
||||
#: FConnectionEditor.class:984
|
||||
msgid "Type mismatch."
|
||||
msgstr "Type de données incorrect."
|
||||
|
||||
#: FConnectionEditor.class:1032
|
||||
#: FConnectionEditor.class:1036
|
||||
msgid "This name already exists."
|
||||
msgstr "Ce nom existe déjà."
|
||||
|
||||
#: FConnectionEditor.class:1120
|
||||
#: FConnectionEditor.class:1124
|
||||
msgid "This field is used in an index."
|
||||
msgstr "Le champ est utilisé dans un index."
|
||||
|
||||
#: FConnectionEditor.class:1474
|
||||
#: FConnectionEditor.class:1478
|
||||
msgid "The table '&1' has no primary key."
|
||||
msgstr "La table « &1 » n'a pas de clef primaire."
|
||||
|
||||
#: FConnectionEditor.class:1610
|
||||
#: FConnectionEditor.class:1614
|
||||
msgid "Cannot write table '&1'."
|
||||
msgstr "Impossible d'écrire la table « &1 »."
|
||||
|
||||
#: FConnectionEditor.class:1708
|
||||
#: FConnectionEditor.class:1712
|
||||
msgid "Do you really want to delete table '&1'?"
|
||||
msgstr "Voulez-vous vraiment supprimer la table « &1 » ?"
|
||||
|
||||
#: FConnectionEditor.class:1721
|
||||
#: FConnectionEditor.class:1725
|
||||
msgid "Cannot delete table '&1'."
|
||||
msgstr "Impossible de supprimer la table « &1 »."
|
||||
|
||||
#: FConnectionEditor.class:1777
|
||||
#: FConnectionEditor.class:1781
|
||||
msgid "Do you really want to remove the selected rows?"
|
||||
msgstr "Voulez-vous vraiment supprimer les lignes sélectionnées ?"
|
||||
|
||||
#: FConnectionEditor.class:1941
|
||||
#: FConnectionEditor.class:1945
|
||||
msgid "Do you really want to remove this query?"
|
||||
msgstr "Voulez-vous vraiment supprimer cette requête ?"
|
||||
|
||||
|
@ -2025,7 +2029,7 @@ msgstr "Référentiel"
|
|||
msgid "The project repository is directly sent to the 'svn checkout' command."
|
||||
msgstr "Le référentiel du projet est directement envoyé à la commande 'svn checkout'."
|
||||
|
||||
#: FDebugButton.class:104
|
||||
#: FDebugButton.class:105
|
||||
msgid "Test has failed."
|
||||
msgstr "Le test a échoué."
|
||||
|
||||
|
@ -7781,10 +7785,6 @@ msgstr "Compilation du projet"
|
|||
msgid "<h3>The compiler has crashed!</h3>\nPlease report it to the Gambas bugtracker at:\n\n<u>https://gambaswiki.org/bugtracker</u>\n\nDo not forget to provide the full project so that the crash can be reproduced."
|
||||
msgstr "<h3>Le compilateur a planté !</h3>\nVeuillez le signaler sur le bugtracker de Gambas à l'adresse:\n\n<u>https://gambaswiki.org/bugtracker</u>\n\nN'oubliez-pas de fournir la projet complet afin de pouvoir reproduire le plantage."
|
||||
|
||||
#: Project.module:2621
|
||||
msgid "(in &1 s)"
|
||||
msgstr "(en &1 s)"
|
||||
|
||||
#: Project.module:2821
|
||||
msgid "File already exists."
|
||||
msgstr "Ce fichier existe déja."
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
' Gambas class file
|
||||
|
||||
Private $bNoSelectButton As Boolean
|
||||
Private $sMessage As String
|
||||
|
||||
Public Sub ReadConfig()
|
||||
|
||||
|
@ -116,13 +117,18 @@ End
|
|||
' End
|
||||
'
|
||||
'
|
||||
|
||||
Public Sub SetMessage(sText As String, Optional bAdd As Boolean)
|
||||
|
||||
If bAdd Then sText = Trim(lblMessage.Text) & " " & sText
|
||||
lblMessage.Text = sText
|
||||
If bAdd Then
|
||||
$sMessage = Trim($sMessage) & " " & sText
|
||||
Else
|
||||
$sMessage = sText
|
||||
Endif
|
||||
|
||||
lblMessage.Text = $sMessage
|
||||
Wait
|
||||
If Not sText Then
|
||||
|
||||
If Not $sMessage Then
|
||||
timMessage.Stop
|
||||
Else
|
||||
timMessage.Restart
|
||||
|
|
|
@ -683,6 +683,7 @@ Public Sub btnRunQuery_Click()
|
|||
Dim iPos As Integer
|
||||
Dim sStart As String
|
||||
Dim fTimer As Float
|
||||
Dim sErr As String
|
||||
|
||||
While Left(sReq, 2) = "/*"
|
||||
iPos = InStr(sReq, "*/")
|
||||
|
@ -696,6 +697,8 @@ Public Sub btnRunQuery_Click()
|
|||
|
||||
Inc Application.Busy
|
||||
|
||||
Project.SetMessage(("Running request") & "...")
|
||||
|
||||
iPos = InStr(sReq, " ")
|
||||
If iPos Then sStart = UCase(Left$(sReq, iPos - 1))
|
||||
|
||||
|
@ -703,18 +706,20 @@ Public Sub btnRunQuery_Click()
|
|||
Try datRequest.Table = sReq
|
||||
Else
|
||||
Try $hConn.Exec(sReq)
|
||||
If Not Error Then
|
||||
Balloon.Info(("OK"), btnRunQuery)
|
||||
'edtRequest.Reset
|
||||
If Error Then
|
||||
sErr = Error.Text
|
||||
Else
|
||||
LoadList($sTable)
|
||||
Endif
|
||||
Endif
|
||||
|
||||
Dec Application.Busy
|
||||
|
||||
If Error Then
|
||||
Balloon.Error(("Unable to run query.") & "\n\n" & Error.Text, btnRunQuery)
|
||||
If sErr Then
|
||||
FMain.ShowError(("Unable to run query.") & "\n\n" & sErr)
|
||||
Else
|
||||
edtRequest.ShowMessageLabel(Subst(("&1 s"), Format(Timer - fTimer, "0.###")), Highlight.Highlight, True)
|
||||
Project.SetMessage(("OK"), True)
|
||||
Project.SetMessage(" " & Subst(("(in &1 s)"), Format(Timer - fTimer, "0.#")), True)
|
||||
Endif
|
||||
|
||||
End
|
||||
|
|
|
@ -14,16 +14,16 @@
|
|||
Picture = Picture["icon:/small/server"]
|
||||
}
|
||||
{ btnShowSystem ToolButton
|
||||
MoveScaled(4,0,4,4)
|
||||
MoveScaled(4,0,12,4)
|
||||
ToolTip = ("Show system tables")
|
||||
Action = ".show-system"
|
||||
Toggle = True
|
||||
}
|
||||
{ Separator3 Separator
|
||||
MoveScaled(8,0,0,4)
|
||||
MoveScaled(18,0,0,4)
|
||||
}
|
||||
{ btnNewTable ToolButton
|
||||
MoveScaled(9,0,8,4)
|
||||
MoveScaled(17,0,16,4)
|
||||
ToolTip = ("New table")
|
||||
Action = ".new-table"
|
||||
AutoResize = True
|
||||
|
@ -32,23 +32,23 @@
|
|||
}
|
||||
{ btnSave ToolButton mnuSave
|
||||
Name = "btnSave"
|
||||
MoveScaled(17,0,4,4)
|
||||
MoveScaled(33,0,4,4)
|
||||
ToolTip = ("Save")
|
||||
Action = ".save"
|
||||
Picture = Picture["icon:/small/save"]
|
||||
}
|
||||
{ btnReload ToolButton mnuReload
|
||||
Name = "btnReload"
|
||||
MoveScaled(21,0,4,4)
|
||||
MoveScaled(37,0,4,4)
|
||||
ToolTip = ("Reload")
|
||||
Action = ".reload"
|
||||
Picture = Picture["icon:/small/refresh"]
|
||||
}
|
||||
{ Separator4 Separator
|
||||
MoveScaled(26,0,0,4)
|
||||
MoveScaled(42,0,0,4)
|
||||
}
|
||||
{ btnKill ToolButton
|
||||
MoveScaled(27,0,11,4)
|
||||
MoveScaled(45,0,11,4)
|
||||
ToolTip = ("Delete table")
|
||||
Action = ".remove-table"
|
||||
AutoResize = True
|
||||
|
@ -56,7 +56,7 @@
|
|||
Picture = Picture["icon:/small/delete"]
|
||||
}
|
||||
{ btnRename ToolButton
|
||||
MoveScaled(39,0,11,4)
|
||||
MoveScaled(56,0,11,4)
|
||||
ToolTip = ("Rename table")
|
||||
Action = ".rename-table"
|
||||
AutoResize = True
|
||||
|
@ -64,7 +64,7 @@
|
|||
Picture = Picture["icon:/small/edit"]
|
||||
}
|
||||
{ btnCopyTable ToolButton
|
||||
MoveScaled(51,0,6,4)
|
||||
MoveScaled(69,0,8,4)
|
||||
ToolTip = ("Copy table")
|
||||
Action = ".copy-table"
|
||||
AutoResize = True
|
||||
|
@ -72,7 +72,7 @@
|
|||
Picture = Picture["icon:/small/copy"]
|
||||
}
|
||||
{ btnPasteTable ToolButton
|
||||
MoveScaled(58,0,4,4)
|
||||
MoveScaled(79,0,10,4)
|
||||
ToolTip = ("Paste table")
|
||||
Action = ".paste-table"
|
||||
AutoResize = True
|
||||
|
@ -80,7 +80,7 @@
|
|||
Picture = Picture["icon:/small/paste"]
|
||||
}
|
||||
{ btnImport ToolButton
|
||||
MoveScaled(64,0,12,4)
|
||||
MoveScaled(89,0,12,4)
|
||||
ToolTip = ("Import text file")
|
||||
Action = ".import-table"
|
||||
AutoResize = True
|
||||
|
@ -113,7 +113,7 @@
|
|||
Arrangement = Arrange.Fill
|
||||
Spacing = True
|
||||
{ panRequest VBox
|
||||
MoveScaled(3,14,80,24)
|
||||
MoveScaled(16,2,80,24)
|
||||
Visible = False
|
||||
Background = Color.Background
|
||||
{ tlbData2 ToolBar
|
||||
|
|
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 163 B |
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 149 B After Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 159 B |
Before Width: | Height: | Size: 151 B After Width: | Height: | Size: 157 B |
Before Width: | Height: | Size: 161 B After Width: | Height: | Size: 161 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 163 B |
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 165 B |
Before Width: | Height: | Size: 143 B After Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 148 B After Width: | Height: | Size: 162 B |
Before Width: | Height: | Size: 146 B After Width: | Height: | Size: 160 B |
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 158 B |
Before Width: | Height: | Size: 195 B After Width: | Height: | Size: 188 B |