Commit Graph

334 Commits

Author SHA1 Message Date
ge0rdi 261929f4c3 Don't use obsolete /Gm switch
`cl : command line warning D9035: option 'Gm' has been deprecated and will be removed in a future release`
2020-06-07 07:21:17 +02:00
ge0rdi 9976e134ca Fix 'Invert Metro icon color' option for grayscale icons
When `Invert Metro icon color` is enabled `Open-Shell` needs to
distinguish full color icons from monochromatic ones.

Color icons are displayed normally. Monochromatic ones are displayed
inverted (original background becomes transparent and foreground will
get Metro accent color).

Metro icon is loaded from Metro app resources (usually PNG image) as
bitmap with premultiplied alpha channel.
This causes monochromatic image to essentially become grayscale (because
RGB values are multiplied with alpha channel value).

Function `DetectGrayscaleImage` is used to distinguish such images.

Unfortunatelly if original image is grayscale (such as new Windows
Terminal icon) it is recognized as monochromatic and thus inverted.

To prevent this we will take into account also alpha channel in
`DetectGrayscaleImage`.

In monochromatic images alpha channel value will be the same as the rest of
channel values.
For color images alpha channel value will be different than other
channel values.

Fixes #364.
2020-06-07 06:47:03 +02:00
ge0rdi 1b410e5a80 Fix compilation with VS16.6 2020-06-07 06:47:03 +02:00
ge0rdi 9ebe53fdbf Fix issue with confirmation dialog being blocked
Delete confirmation dialog may be (partially) hidden behing start menu.
As a result the dialog may be not accessible because start menu(s) are
displayed as top-most windows.

Thus when executing menu command we will make menu(s) non-topmost. So that
other windows can be drawn on top of menu(s).

Fixes #257
2020-02-08 11:23:05 +01:00
coddec 5f59aab40a fix typo classic shell -> Open-Shell 2020-01-29 18:22:08 +11:00
coddec 4f46134f10 Add Temporary Translation/Language Solution 2020-01-29 15:41:23 +11:00
Kaleb Klein 519f4afe17 ignore vscode generated files
Added generated files/folders in gitignore from vscode
2019-12-05 10:27:59 +01:00
Kaleb Klein 30ffce6939 Change homepage url in settings
Changed the homepage text and link on the settings dialog to link to the Open-Shell home page.
2019-12-05 10:27:59 +01:00
ge0rdi fe47f841e7 Don't close menu(s) on certain operations
In several cases we don't want menu(s) to close when an action on menu was
done. For example on drag-n-drop or menu item deletion (where confirmation
dialog is shown).

In such situations `s_bPreventClosing` was set to true (and then back to
false when closing was allowed again).
Though original code honored this variable only in certain situations and
typically (at least on Win10) menus were hidden/closed despite of it.

This patch changes the behavior and menus(s) are not closed when
`s_bPreventClosing` is set to true.
Basically now menu(s) stay visible until there is an action that changes
active window.

Following functionality was also removed because it is not needed now:

* CMenuContainer::HideTemp
* COwnerWindow::OnClear
  WM_CLEAR was sent to the window only by already removed `HideTemp`
v4.4.142
2019-10-26 20:29:23 +02:00
ge0rdi f33cd60b84 Use VS2019 2019-10-01 19:07:03 +02:00
ge0rdi 431e2b522d Update issue templates 2019-09-28 19:22:49 +02:00
ge0rdi d1ba5daead Update issue templates 2019-09-28 19:20:56 +02:00
bovirus 6fe4b6467f Update ExplorerL10N.ini italian translation (#217) 2019-09-04 11:00:19 -04:00
bovirus 89a1a14b2c Update StartMenuL10N.ini (Italian) (#218) 2019-09-04 10:58:13 -04:00
coddec 3ea331332c Update README.md
Add download button as requested by some users.
2019-08-26 12:04:17 +10:00
ge0rdi 38c155cc95 Add support for silent OS upgrade task (#176)
`Open-Shell` needs to adjust itself after OS upgrade. It seems that
`StartMenuHelper` registration is lost after such upgrade:

http://www.classicshell.net/forum/viewtopic.php?f=7&t=8082#p34821

To fix this registration, administrator rights are required (means user
interaction, UAC).

While this is acceptable in consumer environment, it is typically not
desired in business environment where users typically doesn't have
administrator rights.

This patch allows to run `Open-Shell` in silent upgrade mode that will:
* check if OS version changed (otherwise end immediately)
* perform OS upgrade tasks without any user interraction

Such mode can be then used to create scheduled task that will run this
silent upgrade check on every boot with system rights:

`schtasks /Create /RU "NT AUTHORITY\SYSTEM" /SC ONSTART /TN "Open-Shell OS updgrade check" /TR "%ProgramFiles%\Open-Shell\StartMenu.exe -upgrade -silent"`

 #167
2019-06-09 20:27:49 +02:00
ge0rdi b4d2be18fe Fix Lock button hiding
Commit 1a5f62a added possibility to hide Lock/Sleep/Hibernate buttons if
they were disabled in system power settings.

Unfortunately this didn't work for Lock button.

To fix the behavior we have to add lock command to `g_StdOptions` array
and then all the checks introduced in 1a5f62a will apply properly.

 #173
2019-06-09 13:40:49 +02:00
Andy 1a5f62ace2 Code to check registry for Power Button user choice. (#174)
Fixes #173
2019-06-06 15:10:16 +02:00
Zvonimir Bužanić 935c6fc73a Links updated
Changed links to github for Update.cpp and Update.rc.
2019-03-02 21:34:29 +01:00
ge0rdi 947fded387 ClassicExplorer: Use proper theme color to display full path
Fixes #147.
2019-02-27 06:51:00 +01:00
SebastianoPistore e6bd16e2d4 Fix ITA trans (#104)
* Fix ITA translation

Fixed Italian translation; Updated header

* Fix ITA trans
2019-01-29 12:22:48 -05:00
Xenhat 4806744c94 Fix skins copyright issue (#105) (#113) 2018-11-23 23:06:45 -05:00
ge0rdi a16729129a SetupHelper: Try to terminate ClassicShell Start Menu (to make upgrade a bit easier)
During upgrade from ClassicShell we'll try to terminate
ClassicStartMenu.exe as well. So that installer won't complain about files
being in use.
v4.4.131
2018-08-19 08:56:17 +02:00
ge0rdi 45ab50e022 Setup: Remove obsolete/unused stuff
There is no need for password protected beta versions.
2018-08-19 08:56:17 +02:00
ge0rdi bdaec76e1c Setup: Remove warning about very old ClassicShell version
Latest version of ClassicShell was 4.3.1. There is no reason to display
any warning about very old versions (< 2.0.0).

Besides, this will remove dependency on version.dll which could be misused
for DLL hijacking attack.

Fixes #72
2018-08-19 08:56:17 +02:00
ge0rdi 16de25a8b0 Use C++17 by default
Plus C++ standard conformance fixes.
2018-08-18 20:04:21 +02:00
ge0rdi 07a5a7ba72 Import legacy Classic Shell data (#28)
Copy data/settings from legacy Classic Shell if we don't have any yet.
2018-08-14 20:23:16 +02:00
ge0rdi c350b0c037 Installer: Remove "View Readme file" checkbox
One can easily find Readme shortcut in Open-Shell's start menu folder.
2018-08-13 19:46:35 +02:00
ge0rdi 2fb9448ffd Few improvements (#65)
* Fix naming inconsistencies

'Menu' vs 'StartMenu'

* Installer: Remove Facebook link

* Installer: Remove PayPal donate remnants

* OpenShellReadme: Remove info about product version
2018-08-13 00:28:42 -04:00
ge0rdi ad05abe113 Update README.md
- Icon link
- Home page link
- AppVeyor status badge
- Latest nightly link
2018-08-06 08:22:36 +02:00
Xenhat f4dd56155b Rebrand to Open-Shell (#36) (#58)
* Rebrand to Open-Shell

* Slight installer branding improvement
2018-08-05 15:22:10 -04:00
ge0rdi 4637019a0f Update README.md (#56)
Prettified links on main page.
2018-08-03 23:50:13 -04:00
ge0rdi 63c3689da8 Update README.md
Added link to latest nightly build
2018-08-03 19:09:43 +02:00
ge0rdi 5971807d2a Add .editorconfig file 2018-07-29 18:12:08 +02:00
ge0rdi 8077566b1c Update build status batch 2018-07-29 08:48:28 +02:00
ge0rdi dc0266c88e Cleanup of the accessibility COM objects (#53)
Fixed issue related to the cleanup of the accessibility COM objects that
may cause Explorer to crash.

Submitted by Ivo Beltchev.

Fixes #53
2018-07-29 08:34:15 +02:00
coddec 3df484dc7c Update README.md 2018-07-28 12:05:47 +10:00
coddec 64591a3aef Rename: partial change 2018-07-28 12:04:49 +10:00
ge0rdi ad28acaaa3 Build improvements (#51)
* Build: Add symbols to 7z archive

It is much smaller than ZIP (15MB vs 34MB).

* Build: Don't create source package

There is no need to create package with sources as sources for given
release can be easily obtained from git.

* AppVeyor: Remove unneeded install script

__MakeFinal.bat now handles it.

* Build: Less verbose output

* Build: Support for version suffix

AppVeyor may add suffix to version (X.Y.Z-abc) in case of PR builds.

* AppVeyor: Disable shallow clone

To be able to use git commands (in source indexing script).
Use history depth 1 instead.

* Build: Add source index to PDBs

Add source information to PDBs so that source files can be retrieved from Github by debugger.
2018-07-27 20:30:53 -04:00
Xenhat 261e01e180 Remove misleading '...' at end of Log Off button (#38) (#42) 2018-07-27 20:21:42 -04:00
ge0rdi 1fd152f428 Store symbols along with AppVeyor builds
Fixes #49
2018-07-21 01:13:09 +02:00
Rukoto Luther 8b70f64b5b Update Japanese translation (retry) (#39) 2018-07-13 13:38:26 -04:00
ge0rdi dbb783153c Remove HISTORY.txt from installer 2018-07-13 13:24:44 +02:00
ge0rdi 9e95b71904 Remove obsolete files 2018-07-13 13:24:44 +02:00
ge0rdi 734d082166 AppVeyor: allow builds from all branches 2018-07-13 13:24:44 +02:00
ge0rdi ac0829233c AppVeyor: trigger builds only for code changes 2018-07-13 13:24:44 +02:00
coddec 4ee6721ea6 Fix issues link 2018-07-06 18:07:02 +10:00
Xenhat cf8a1c2a88 Update README.md 2018-07-06 00:12:48 -04:00
Xenhat 360de84055 Update README.md 2018-07-06 00:11:53 -04:00
Xenhat 9e441ef07b Update README.md 2018-07-06 00:11:32 -04:00