Commit Graph

4274 Commits

Author SHA1 Message Date
Ansgar Becker
866146d4b7 Usability: An "OK" button should be left besides a "Cancel" button. Fix position of these buttons on the dialog "Edit system variable" to make it consistent with other dialogs. 2008-03-09 08:52:13 +00:00
Ansgar Becker
e29840a616 Fix bug #1842564 "Incorrect table name" after using index editor . Missing begin/end in PopulateTreeTableList. 2008-03-06 19:47:35 +00:00
Ansgar Becker
9d8c33b3ce Fix detection of primary columns in datagrid, was broken since rev 1234. 2008-03-05 12:28:55 +00:00
Ansgar Becker
815eea1481 Rename childwin's "Description" property to "SessionName" which says more exactly what it really is. 2008-03-05 12:21:25 +00:00
Ansgar Becker
1ccb907501 Fix bug #1907061 "Columns selection combobox in DataGrid is not working". GetRegValue needed session name as 3rd parameter. 2008-03-05 11:31:32 +00:00
Ansgar Becker
1edb5b3edc 2nd followup to rev 1234: Accidently forgotten part of commit. Fixes a compiler error. 2008-03-04 00:53:13 +00:00
Ansgar Becker
9c29132ab5 Accidently overseen part of previous change/commit.
Btw: The red "busy" and green "ready" icon in the statusbar had been removed now, as that was no longer working with the PNGImageList. Refixes the everlasting bug #1472803. Maybe these two icons can be added sometime, as that can be very informative to the user, but then please with a less hackish solution than previously.
2008-03-04 00:30:33 +00:00
Ansgar Becker
bd597d0c1d Use a PNGImageList and find replacements for nearly all icons in the application.
Sources:
- Mark James' Silk icons
- Everaldo's Crystal icons

Todo: Load icons at runtime
2008-03-04 00:20:38 +00:00
Ansgar Becker
46a17e6d14 Fix faulty IF construct in previous commit: menuEditVariable always displayed the STR_NOTSUPPORTED hint. 2008-03-02 17:59:57 +00:00
Ansgar Becker
3804655749 Disable variable editing on old servers which don't support that. 2008-03-02 17:52:50 +00:00
Ansgar Becker
a810ca77cb Avoid a complete list refresh after editing a single server variable, only refresh the relevant node. 2008-03-02 17:44:40 +00:00
Ansgar Becker
c81dd21d69 Enhancement for all VirtualTrees: Remember previously selected nodes and restore them after any refresh. Using existing helpers:GetVTCaptions plus new helpers:SetVTSelection 2008-02-29 23:07:47 +00:00
Ansgar Becker
8679b371e3 New feature: Introduce a dialog for editing a server variable which is called on ListVariables (DblClick or Enter). 2008-02-29 22:32:53 +00:00
Ansgar Becker
7e4bfafbe1 Fix access violation in Database tab when at least one view exists: TField.AsFloat on a NULL value throws this AV. User report can be found here: http://www.heidisql.com/forum/viewtopic.php?p=1812 2008-02-27 20:17:04 +00:00
Ansgar Becker
2f30ee2e68 Simplify updatecheck: Make unit updatedownload superflous by moving relevant code to updatecheck.pas. Resign from displaying a progressbar for the mostly short download time, instead use the existing status label for a textual progress information. 2008-02-27 19:31:58 +00:00
Ansgar Becker
d6d8f88417 Move unused stuff from rev 1209 and 1210 out of the release relevant files, to a place where they can be reactivated if required sometime in the future. The .res file can be restored by calling /extra/updater/makeresource.cmd . 2008-02-23 22:29:41 +00:00
Ansgar Becker
befebb7fe7 Build-Installer: Replace batch code by a Visual Basic Script which is capable of doing loops and reasonable error handling. Gets executed by the Windows Script Host after the new build has been downloaded.
Todo: The download process itself should also be done in this VB script. That would make the unit "updatedownload" superflous.
2008-02-23 21:22:09 +00:00
Ansgar Becker
9f23a9b313 Updatecheck: Find a batchfile-solution to replace the running exe with a downloaded build.
TODO: find some sleep command for the batch file, as we sometimes get "access denied" while trying to overwrite the just terminated exe. Seems like taskkill doesn't close all handles itself.
2008-02-23 00:54:02 +00:00
Francisco Ernesto Teixeira
7788014258 Added methods that enable the update of running main application just giving the direction of newest main application file. 2008-02-21 03:01:10 +00:00
Ansgar Becker
7e6477552c Fix bug #1897916 "SQL error: Unknown system variable NAMES" by using a regular expression for detecting the numeric version. The commonly used mysql versions with numerical suffixes caused this bug, for example "4.0.31-20070605_Debian-5-log".
(Plus: Make PerformConnect more readable.)
2008-02-20 20:59:00 +00:00
Ansgar Becker
b584aa5ae4 Introduce automatism for calling the updatecheck dialog. User can set the interval how often this is done in preferences dialog (default interval: 3 days, can be completely disabled). The automatic calling of this dialog should not disturb anyone as it's closed immediately if there are no updates available or if a developer version with an unknown revision is used.
Some GUI controls on the dialog had to be moved around as well as some lines of code so everything works well with the automatic dialog closing.
2008-02-19 19:44:33 +00:00
Ansgar Becker
b9f615f024 Minor fix for updatecheck: Set the font color of the correct TMemo after a button has been disabled. 2008-02-14 23:04:05 +00:00
Ansgar Becker
32a4c08a8b Enhancements and fixes for updatecheck dialog:
- Fix URL opened by btnBuild
- Fetch and display date, revision and note of release/build
- Put the download buttons into separated TGroupBoxes and add a TMemo for Notes above them
- Enable a download button if "download revision" > "current revision". Enables a more exact comparision, especially for releases.
- Remove dodgy "refresh" icon on form.

If you stumble across this compiler notice: "FileAge(File)" is deprecated, while the used overloaded method "FileAge(File, DateTime)" is not. See also: http://groups.google.com/group/borland.public.delphi.rtl.win32/browse_thread/thread/9792bef1ee37a298/75b96783bb4862ee
2008-02-14 20:24:02 +00:00
Ansgar Becker
d3edf57600 Fix for previous commit: Selected NULL cells should be readable everywhere, not just with my personal color settings... 2008-02-12 20:01:15 +00:00
Ansgar Becker
f9b6fdaf64 Follow up to rev 1156: Enhance readability of selected NULL cells with grey font color: Just use the default font color clWindowText in those cases.
User report: http://www.heidisql.com/forum/viewtopic.php?p=1753
Code inspired by: http://qc.codegear.com/wc/qcmain.aspx?d=3009
2008-02-12 19:49:32 +00:00
Ansgar Becker
30330bfea0 Minor: Remove unused legacy var 2008-02-12 18:58:54 +00:00
Ansgar Becker
638b69ea85 Add feature 1769207 "Automatic Software Update":
Implements a simple dialog which tells the user if there is some new release or nightly build available. Parses http://www.heidisql.com/updatecheck.php as a .ini file. Download buttons just start the webbrowser currently.
Todo: Automatic invocation of this dialog at regular intervals (for example once a week)
Todo: Automatic download + update + restart
2008-02-10 23:29:39 +00:00
Ansgar Becker
52c85ddabc Introduce APPDOMAIN constant (=http://www.heidisql.com/), for usage in various methods. 2008-02-08 21:11:08 +00:00
Ansgar Becker
84dc50b9bd Fix compiler error from rev 1194 2008-02-06 06:51:57 +00:00
Ansgar Becker
4e23728aa2 - Move all hardcoded preferences names (registry) plus their default values to const.inc to fix inconsistencies like the one described here: http://www.heidisql.com/forum/viewtopic.php?p=1739
- Consequently use Mainform.GetRegValue() to read these values, an overloaded method with either Boolean, String or Integer result. These methods keep a global TRegistry object (regMain) open while the application runs, rather than creating a new one for each caller.
- Remove Mainform.SaveRegValue() which was used in one or two callers. Rather use a TRegistry object and do that by hand. There's no significant advantage in using a SaveRegValue method currently.
2008-02-06 00:00:52 +00:00
Ansgar Becker
be733f6821 Fix preselection of context relevant database in pulldown (CreateTable). Was done in two redundant places before and both did it wrong, not taking DBRightClickSelectedItem into account. 2008-01-26 23:16:17 +00:00
Ansgar Becker
d6129572c1 Minor documentation fix in editFilterVTChange() 2008-01-26 19:12:30 +00:00
Francisco Ernesto Teixeira
a6a53de8b1 Fix bug #1872643 "Interface: UNSUPPORTED default value for GEOMETRY field"
Error message: <spatial data type> can't have a default value.
Solution:  I tried every type of this family data type and found that they needs the flag HasDefault as False.
2008-01-23 21:22:00 +00:00
Ansgar Becker
f53ea37647 Add a filter editor above ListVariables, ListStatus and ListProcesses. Should make the lists more suitable to look for specific values when they're very long.
(Plus: Move some TPopupMenus around so they don't overlap other controls at design time)
2008-01-23 20:24:35 +00:00
Ansgar Becker
c51ea356a1 Fix bug #1841478 "Access violation when add indexes" by keeping the instance of TFieldEditForm in memory after using it instead of recreating it each time the window is shown. The AV seems to be caused by FreeAndNil(f) but that's not reproducable when you start the exe within Delphi. However, the AV is gone now.
Related changes:
+ Use modal result values on buttons instead of explicitely setting them via code
+ Move some safe code out of a try .. except because only THandledSQLError's are catched.
2008-01-17 23:26:19 +00:00
Ansgar Becker
0c10b77794 Place a TSynMemo below ListProcesses and use that to display the executed SQL command. Makes debugging SQL stuff more conveniant. 2008-01-11 22:06:28 +00:00
Ansgar Becker
95fa339756 Split Host/Variables tab into two tabs + lists for variables + status. Mixing both results is inconveniant because they are normally quite long. 2008-01-11 21:25:50 +00:00
Ansgar Becker
a79ac546e5 Fix bug #1856457 "Incorect table creation queries / wrong error handling"
Solution: Just keep CreateTableForm open after firing a faulty CREATE TABLE statement.
Note: The "Create" button has ModalResult := mrOK, so the form is automatically closed in the normal case.
2008-01-11 20:39:23 +00:00
Ansgar Becker
a580043f9c Fix bug #1865305 "error popups with server down and process list reloads" 2008-01-11 20:05:51 +00:00
Ansgar Becker
26f5d5ce88 - Get rid of lame helper notinlist(), use TStringList.IndexOf() instead.
- Get rid of TCreateTableForm.ButtonsChange(), merge code into TCreateTableForm.EditFieldnameChange()
2008-01-11 16:10:14 +00:00
Ansgar Becker
5fbee3c690 Make selection of table engine available on pre 4.1 servers. Applies to "Alter table" dialog as well as "Create table".
- Use variables like "have_innodb" for detection of supported engines.
- Move redundant code from two places to Childwin.TableEnginesCombo()
- Remove some legacy code around this logic
- Don't free the instance of CreateTableForm after closing it. Saves some SQL queries from being fired each time the form gets created.
2008-01-11 15:45:21 +00:00
Francisco Ernesto Teixeira
2dc93c9ca5 Statements using CALL SQL requires that the option CLIENT_MULTI_RESULTS
is enabled. Reference: http://dev.mysql.com/doc/refman/5.0/en/call.html
2007-12-19 13:54:18 +00:00
Francisco Ernesto Teixeira
3a313a1eeb Fix bug #1845426 "Can't call stored procedure" 2007-12-18 12:30:44 +00:00
Ansgar Becker
93172bd196 Get the copy/paste workaround in grids working also for the "Query"-grid 2007-12-17 23:28:27 +00:00
Ansgar Becker
1671ea2c19 Move all code for adjusting CREATE TABLE statements to a specific version from exportsql.pas to fixSQL(). Using SynEdit's nice regular expression object. Fixes bug #1843890 "Exportfile: YPE=MyISAM; (missing T)" 2007-12-17 23:12:35 +00:00
Ansgar Becker
e32bd641eb Fix a theoretical access violation for servers with 0 databases. Could potentially fix bug #1844815 . 2007-12-16 23:44:57 +00:00
Ansgar Becker
bac6b5bff2 Fix bug #1844735 "Corrupt CREATE TABLE in dumps" 2007-12-16 23:01:27 +00:00
Ansgar Becker
2b4c477e3e Try to fix
bug #1850003 "DB treeview context menu opens only on first monitor" and
bug #1846610 "Database View/List Popup Menu position issue"
Although I can't test the solution completely as I'm lacking a second monitor (like the reporter of the first bug), it seems correct that TPopupMenu.Popup() needs the clientorigin added to the mousepoint which is only a relative position to the underlying TWinControl.
@see TMDIChild.btnDataClick()
2007-12-16 22:29:46 +00:00
Ansgar Becker
bb76a60abb Enhance position and size of checkboxes in printer dialog. Some captions were cut, especially when you call the dialog for the command stats list. 2007-12-14 20:28:41 +00:00
Ansgar Becker
2e859faf5e Fix bug #1850358 Table name autocomplete shows "dummy node" 2007-12-14 18:41:46 +00:00