0b1644e287
Make sure the user has "admin" privileges before checking for updates, because it's kind of pointless to download the update if you won't be able install it anyway. This is especially important for Windows XP, where we don't have UAC. Note that UAC implies "admin" privileges, because the installer process will be elevated as needed - even if the current user is *not* an administrator.
2013-12-16 18:07:45 +01:00
b05a7ac3ef
Moved all sound effects into Qt-style resources. Sound files can be played back directly from program memory by passing a pointer to the WAVE data into PlaySound as the first argument (and using the SND_MEMORY flag), it's just not documented very well.
2013-12-03 22:19:11 +01:00
4635d9bf76
Make sure splash screen gets focus. Also better key press/release handling in working banner.
2013-11-30 13:10:34 +01:00
1d8709689b
Improved initialization of the TEMP directory.
2013-11-29 01:21:52 +01:00
ff30f71c13
Refactored finalization code, so each "Global..." file can have its own finalization function.
2013-11-26 23:00:33 +01:00
9b5334ba27
Improved processing dialog + setup a proper "big" window icon for application windows (improves the look on the taskbar in Windows 7+)
2013-11-25 18:34:59 +01:00
f3ae451b32
Make sure the TEMP path is *not* replaced when running the web-update tool, as this will prevent the updater from working correctly.
2013-11-25 02:20:44 +01:00
3d5b9541ed
More improvements to Splash Screen and the working banner.
2013-11-24 17:55:35 +01:00
b8b11e59aa
Improved splash screen.
2013-11-23 20:57:38 +01:00
a5602cf04d
Reorganized global functions: The file "Global.h" was split into multiple file in order to reduce the dependencies and to make things a bit more logic.
2013-11-03 23:43:21 +01:00
6a862013eb
Added lamexp_init_process() function, which can be used to setup a QProcess object.
2013-10-29 02:05:43 +01:00
7b016d5fec
Updated license info.
2013-10-23 22:25:04 +02:00
b54886f242
Introduce QUTF8 macro and replace ".toUtf8().constData()" everywhere.
2013-10-21 15:00:55 +02:00
3d7fbf70f5
Improved compatibility mode detection, taking into account Windows 8.1.
2013-10-20 23:34:04 +02:00
be9cf25645
Improved Windows version detection code.
2013-10-20 19:12:00 +02:00
26d186cdf8
Fix detection of Windows 8.1: Starting with Windows 8.1, the GetVersion(Ex) API has been broken and will now pretend to be Windows 8.0. Since GetVersion(Ex) can no longer be relied on, we will use VerifyVersionInfo() from now on, in the hope that they won't break this one too.
2013-10-19 16:02:22 +02:00
8a64624ba4
Use the THROW macro instead of plain "throw" in the complete project.
2013-10-18 21:37:40 +02:00
414b261c0d
Improved tool extraction code in InitializationThread. Also implemented better exception handling.
2013-10-18 20:49:22 +02:00
c8242b494c
Improved lamexp_rand_str() function. Also this function now returns shorter strings (by default), which still should be enough to avoid name clashes.
2013-10-09 16:09:20 +02:00
24217c3b71
More code refactoring: Moved most of the Win32 API dependencies into wrapper functions in Global.cpp, which greatly reduces platform-specific includes.
2013-10-07 00:01:15 +02:00
7602317652
Some code-clean up. Removed "Windows.h" include from "Global.h", because most source files won't need the Win32 API stuff. Also got rid of some Windows 2000 compatibility cruft.
2013-10-06 19:28:12 +02:00
8f77ee3b5f
Ignore case when sorting file names.
2013-08-23 19:16:40 +02:00
409117ec39
Implemented "natural ordering" for sorting the input files. Code is based on the strnatcmp() by Martin Pool, released under the "zlib" license.
2013-08-23 00:19:00 +02:00
c2db2acd20
Now using a separate version/build number for the configuration, so INI settings don't get invalidated with each build.
2013-05-02 23:00:26 +02:00
62d8bd9376
Updated web-site links.
2013-03-17 21:50:29 +01:00
d7cb3001aa
Now each tool can also have a "tag" in addition to the version number.
2013-02-12 00:08:21 +01:00
bd0a370aee
Welcome to year 2013 ;-)
2013-02-08 23:57:50 +01:00
f68523efd6
Properly handle plurals in translation files.
2013-01-23 23:25:31 +01:00
cb042bbf3c
Added new function to detect the current date. Slightly more robust against manipulations.
2013-01-12 01:53:43 +01:00
30507937de
Added global lamexp_fatal_exit() function.
2012-12-11 23:22:20 +01:00
1e09d998a2
Updated Visual Studio 2012 to "Update 1" (final release).
2012-11-28 01:16:37 +01:00
d11f698d80
Added Visual Studio 2012 project files.
2012-11-12 22:47:13 +01:00
a2fd0f2460
Added an "About..." entry to the system menu.
2012-10-17 23:34:42 +02:00
50e9d01cfb
Now using rand_s() to generate random numbers, which doesn't need a seed. Falling back to qsrand() + qrand() on platforms that don't support rand_s().
2012-10-13 12:36:41 +02:00
0fac4fbb8f
Slightly improved seeding of the PRNG (again).
2012-10-09 17:43:17 +02:00
7f3bcbedb7
Improved lamexp_get_os_version() function.
2012-09-09 23:05:00 +02:00
9a7f0d5176
Small optimization of known_folder() function. Will now return a const reference.
2012-08-18 22:37:10 +02:00
f282cff154
Updated Visual Studio 2008 project file.
2012-08-18 20:55:59 +02:00
c095bbee95
Some refactoring of the macros. Use the "do {...} while(0)" template where it makes sense.
2012-07-29 19:13:58 +02:00
17794881a4
Extinguished some remaining uses of argv[] or QApplication::arguments().
2012-06-23 18:18:57 +02:00
30bc239cd8
Now using our own command-line parser, based on GetCommandLineW() + CommandLineToArgvW , instead of using QApplication::arguments(). This is less portable, but Qt's internal command-line parser has some rather strange behavior with processing certain characters. As a result, with Qt's command-line parser, some path names passed to LameXP got screwed up! Specifically "C:\Some Path\''Foo''.mp3" got mangled to "C:\Some Path''Foo''.mp3", i.e. the Backslash disappeared! Should be fixed now.
2012-06-22 15:49:56 +02:00
40c8874313
Updated Chinese/Taiwanese translation. Thanks to 456Vv <123@456vv.com>.
2012-04-18 22:53:07 +02:00
c41c904ffa
Detect Windows 8 and detect if Windows 8 is running in "compatibility mode" for Windows 7.
2012-04-13 16:37:47 +02:00
027471b385
Updated MediaInfo binary to v0.7.55 (2012-04-05), compiled with ICL 12.1.7 and MSVC 10.0.
2012-04-10 01:25:34 +02:00
7016383fbb
Added support for the Visual Leak Detector. This effects "Debug" builds only.
2012-04-06 22:24:05 +02:00
cdf300cd22
Some more Wine workarounds: Disable x64 binaries, as it seems they fail to load under Wine (tested with Wine 1.4 under Ubuntu 12.04 x64).
2012-04-05 13:40:52 +02:00
17278fb7a6
Use the 'FindExInfoBasic' information level on supported OS (Windows 7 and later). Should further speed-up things.
2012-03-31 16:27:37 +02:00
9b687fff9a
Happy New Year 2012!
2012-01-02 00:52:27 +01:00
1f001a65e2
Better handling of system shutdown. Now using the Qt event system to broadcast a special event when the system is going to shutdown (i.e. WM_QUERYENDSESSION or WM_ENDSESSION). This gives each top-level widget the chance to react to the system shutdown *before* we return from the message handler. Doing any clean-up after returning from the message handler is impossible, because Windows will kill the process immediately after WM_ENDSESSION has been processed. Note that Windows XP (and earlier) will NOT send WM_QUERYENDSESSION or WM_ENDSESSION to processes that have a console attached! Therefore, if we have a debug console attached, we cannot do anything on these systems. Our process will be killed without any notification...
...
Also improved LameXP's IPC mechanism: There now are several slots for IPC-commands in the shared memory area ("queue support"). This way, the sender can post several commands in sequence without getting blocked. The receiver can process those at a later time.
2011-12-29 14:42:20 +01:00
9a9d2e6819
Explicitly handle WM_QUERYENDSESSION and WM_ENDSESSION messages to make sure LameXP won't block Windows from shutting down.
2011-12-27 05:04:53 +01:00