360 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
30330bfea0 Minor: Remove unused legacy var 2008-02-12 18:58:54 +00:00
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
52c85ddabc Introduce APPDOMAIN constant (=http://www.heidisql.com/), for usage in various methods. 2008-02-08 21:11:08 +00:00
84dc50b9bd Fix compiler error from rev 1194 2008-02-06 06:51:57 +00:00
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
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
d6129572c1 Minor documentation fix in editFilterVTChange() 2008-01-26 19:12:30 +00:00
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
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
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
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
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
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
a580043f9c Fix bug #1865305 "error popups with server down and process list reloads" 2008-01-11 20:05:51 +00:00
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
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
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
3a313a1eeb Fix bug #1845426 "Can't call stored procedure" 2007-12-18 12:30:44 +00:00
93172bd196 Get the copy/paste workaround in grids working also for the "Query"-grid 2007-12-17 23:28:27 +00:00
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
e32bd641eb Fix a theoretical access violation for servers with 0 databases. Could potentially fix bug #1844815 . 2007-12-16 23:44:57 +00:00
bac6b5bff2 Fix bug #1844735 "Corrupt CREATE TABLE in dumps" 2007-12-16 23:01:27 +00:00
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
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
2e859faf5e Fix bug #1850358 Table name autocomplete shows "dummy node" 2007-12-14 18:41:46 +00:00
249610072e Minor followup to rev 1170:
- Wording: "table" should be more clear than "objects"
- Source: Add TODO for platform specific method call
- GUI: Add right hand anchor for new radiobutton to ensure it's not covering some borders of the parent box
2007-12-13 18:04:49 +00:00
4e731b7fe5 Follow up to rev 1169: Add a more eye catching and user friendly solution to export to a directory.
- Add a fourth radiobutton + edit + button labeled "Directory" below the "File" option
- Code just uses that new option just like the File option. Only differentiate in the InitFileStream method.
- The SelectDirectory() method expects the unit FileCtrl in the USES clause. Silence a relevant compiler warning about usage of platform specific units - we will never compile anything else than a Win32 app here.
2007-12-12 21:42:49 +00:00
4793d275cd Add feature #1843670 "Multi-table Automated File Exporting"
The output filename gets parsed and the eventually existing "<table>" pattern gets replaced by either "header", "table1", "table2", ..., or "footer". That means, the single SQL files won't be complete in the end, as the header and footer is missing in the table-files. Not 100% sure if this is a good strategy. For me it seemed like the best/fast/lame way of working around the fact that the header potentially contains a CREATE DATABASE statement.
2007-12-10 21:02:06 +00:00
69e649b70b - Fix the copy+paste workaround in DBGrids, was malfunctioning when grid is in editormode.
- Add a reminder for enabling Unicode in this workaround
2007-12-05 13:01:09 +00:00
35ebc27761 Merge SynEdit sources with Unicode enabled version from http://www.mh-nexus.de/unisynedit.htm 2007-12-05 12:37:49 +00:00
db48c82110 Find a better fix for the black focus rectangle plus fix another graphical glitch for MEMO and BLOB cells, which didn't get covered completely by the (NULL). This fix just leaves the (MEMO) and only uses the grey color for it. 2007-12-05 00:36:03 +00:00
367cb4cc40 Fix a minor graphical glitch when a focus rectangle is displayed in a gridcell (broken in rev 1156) 2007-12-05 00:12:49 +00:00
42166f0975 Remove "Data always in edit mode" option again and setting that to False at designtime. (as discussed on the devels-mailinglist) 2007-12-04 23:51:41 +00:00
d3307814b5 Followup to rev 668 and rev 678: Reenable option "Datagrids always in edit-mode". Implement a simple workaround for the broken copy+paste shortcuts. However, don't touch the TAction items Copy+Paste to avoid unpredictable behaviour. 2007-12-02 13:01:52 +00:00
d6cda29f14 Add Nemanja (commandline parser) to authors list. Some GUI adjustments in the about window needed because that list got longer. 2007-12-02 07:52:04 +00:00
23c13d2531 Cleanup usage of background colors in grids and listviews:
* TNTGrid is not capable of displaying a sort arrow in column titles. So, signalize sort direction of columns in grids and listviews by lightgrey (= ascending) and mediumgrey (= descending)
* Remove special color for NULL cells in grids because it can conflict with the new sorting colors. Instead, place a grey (NULL) text in these cells. Less gaudy colors now.
* Also remove grey background in primary key columns for the benefit of sorting colors. PK cells have bold font anyway, should be noticable enough.
2007-12-01 22:37:21 +00:00
85faa5ffc3 Implement parser for connection parameters on commandline.
Code snippets by Nemanja, see discussion: http://www.heidisql.com/forum/viewtopic.php?t=252
2007-11-30 21:34:41 +00:00
8c0965166c Fix second part of issue #1839045: conditional around default charset winds on for too long, encapsulating "row_format" too. Lines 754-768 should probably be factored out into a general method for doing these conditionals. Hmm, and why are there different target MySQL versions when the export function generates multi-version SQL anyway? 2007-11-29 20:42:48 +00:00
92737fa072 When masking USING <indexing algorithm>, place the end of the conditional enclosing right after the name of the algorithm (at the first space. assuming the name is only one word), rather than after at the first comma or parenthesis. Fixes issue #1839045. 2007-11-29 20:36:49 +00:00