Commit graph

280 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
774b3a6e1d
[RAPPS] Correctly update the Install/Uninstall/... buttons (#7351)
The Install/Uninstall/Modify/... buttons stay disabled by default, unless:

- For installed apps: when an app item is selected, Uninstall (and
  Registry-remove) are enabled, and Modify is enabled under certain
  conditions.

- For available apps:
  * Modify, Uninstall and Registry-remove are always disabled.
  * When an app item is selected, Install is enabled.
  * Install is also enabled if there is at least one application
    selected for installation (box checked), in which case the button
    stays enabled even while changing across apps categories.
2025-04-04 18:18:49 +02:00
Whindmar Saksit
7dc7b866b1
[RAPPS] Don't delete downloaded ZIP/CAB even if configured to (#7791) 2025-03-20 14:32:07 +01:00
Whindmar Saksit
d769f5675d
[RAPPS] Must apply settings changes when a new download folder is created (#7792) 2025-03-19 12:24:52 +01:00
Whindmar Saksit
a236c39ee5
[RAPPS] Added option to display small application icons (#7723) 2025-02-23 19:27:02 +01:00
Whindmar Saksit
f3c750787b
[RAPPS] Ask user if they want to run the zip app they just installed (#7719)
After the zip has been installed, ask the user if they want to run the extracted application.
2025-02-18 13:23:25 +01:00
Whindmar Saksit
5bc6d59142
[RAPPS] Refresh item info after installer completes (#7697)
- Refresh the details view of the item that was just installed.
- Hint update of uninstallers list is needed.
- Restore focus correctly after installer process finishes.

CORE-17677
2025-02-07 21:33:19 +01:00
Václav Zouzalík
9164e9f85f
[RAPPS] Update Slovak (sk-SK) translation (#7450) 2025-02-03 13:05:03 +01:00
Whindmar Saksit
d5ce3d28ab
[RAPPS] Don't display Freeware license string if the type is also Freeware (#7689)
License=Freeware, LicenseType=2 should not display as "Freeware (Freeware)"
2025-01-30 21:14:10 +01:00
Whindmar Saksit
a23db39c8a
[RAPPS] Allow database to override download filename (#7668)
http://example.com/setup.exe?foo=bar needs to use be able to use setup.exe as the
filename.
2025-01-30 17:46:39 +01:00
Whindmar Saksit
b35becef2e
[RAPPS] Set working directory for zip generated shortcuts (#7674)
Some applications are broken and assume the working directory is the
same as the .exe directory (xrick etc).
2025-01-29 00:46:11 +01:00
Katayama Hirofumi MZ
fe11f7a2e5
[REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Whindmar Saksit
72951421e6
[RAPPS] Reuse active pending downloads window (#7648)
CORE-16716 CORE-16804
2025-01-25 16:42:48 +01:00
Whindmar Saksit
c8b2c4c94d
[RAPPS] Check Let's Encrypt issuer prefix (#7650) 2025-01-21 13:06:55 +01:00
Whindmar Saksit
91b8923601
[RAPPS] Allow .zip generated installers to skip writing the DisplayIcon value (#7609)
This is useful for wallpaper and theme packs.
2025-01-14 18:09:48 +01:00
Whindmar Saksit
3ff8adc553
[RAPPS] Protect database update with a mutex (#7006) 2025-01-11 19:52:07 +01:00
Mahir Gül
8734889272
[RAPPS] Update Turkish (tr-TR) translation (#7372) 2025-01-06 18:15:21 +01:00
Whindmar Saksit
2834e5b3c8
[RAPPS] Initialize SHBrowseForFolder to current download folder (#7505) 2024-11-18 16:42:43 +01:00
Andrei Miloiu
16f1abe1c8
[RAPPS] Improve Romanian (ro-RO) translation (#7360) 2024-11-03 20:19:33 +01:00
Timo Kreuzer
8ba61029e1 [CRT] Add C++ const correct overloads 2024-10-22 08:17:45 +03:00
Whindmar Saksit
053939e27c
[RAPPS] Hide the main window during active download/install if the user closes it (#7014) 2024-09-26 18:58:30 +02:00
Whindmar Saksit
2f83e6a65d
[RAPPS] Use different mutex and title for AppWiz mode (#7350)
The two different modes needs separate mutex and window titles, otherwise you can end up stuck in AppWiz mode.
2024-09-26 18:06:13 +02:00
Hermès Bélusca-Maïto
4e59858941
[RAPPS] Change the "Welcome" text with a suitable explanatory one in APPWIZ-mode (#6655)
- Delete CAppRichEdit::SetWelcomeText() and move its implementation
  inside CAppInfoDisplay::SetWelcomeText().

- Make CAppInfoDisplay::SetWelcomeText() select a suitable text,
  depending on normal mode or APPWIZ mode.

- IDS_WELCOME_TITLE: Remove the double \n\n from the resources,
  and add them programmatically instead.
2024-09-18 12:31:51 +02:00
Hermès Bélusca-Maïto
5aecdd0840
[RAPPS] Don't display the "Selected" apps count in APPWIZ mode (#6655)
The count makes sense only in normal mode, where we can select many apps
for bulk-install.

Split the IDS_APPS_COUNT string into it and IDS_APPS_SELECT_COUNT, and
append the number of selected apps only when we aren't in APPWIZ mode.
2024-09-18 12:31:50 +02:00
Hermès Bélusca-Maïto
f23394986a
[RAPPS] Recalculate the toolbar max buttons width when deleting the buttons (#6655)
Done so that the toolbar can display correctly the buttons,
and their labels if possible, when resizing the RAPPS window.
2024-09-18 12:31:48 +02:00
Hermès Bélusca-Maïto
9835ea27d2
[RAPPS] Build up a minimal UI for RAPPS started in AppWiz mode (#6655)
- Only the "Installed/Applications/Updates" items are shown.
- Delete the "Settings" item in the "File" menu.
- Remove unnecessary toolbar buttons: ID_INSTALL, ID_CHECK_ALL, ID_RESETDB.

- gui.cpp CMainWindow::ProcessWindowMessage():
  Forbid the "Install" tree-view section to collapse.

  However, there is currently a bug in Wine's comctl32, which ignores
  the value returned from the TVN_ITEMEXPANDING notification handler
  to control the collapse/expansion behaviour.

  https://bugs.winehq.org/show_bug.cgi?id=53727

  As a result, this feature doesn't work in ReactOS yet.
2024-09-18 12:31:47 +02:00
Hermès Bélusca-Maïto
b1a3479500
[RAPPS] Remove the IDR_APPLICATIONMENU menu (#6655)
It is redundant with the "Programs" one from the main menu.
2024-09-18 12:31:46 +02:00
Hermès Bélusca-Maïto
39867020f7
[RAPPS] Separate the banner-like resource strings from the other ones. 2024-09-18 12:31:45 +02:00
Hermès Bélusca-Maïto
2d0182345a
[RAPPS] Don't show the "Description" column for installed applications.
As it currently is, it doesn't provide much useful information.
It will be re-enabled later when we support other columns ("Publisher",
"Size", "Installed on", ...) and the possibility to show/hide columns.
2024-09-18 12:31:43 +02:00
Hermès Bélusca-Maïto
2a2df969b0
[RAPPS] Simplify CAppsListView::SetCheckboxesVisible() into ShowCheckboxes() 2024-09-18 12:31:43 +02:00
Hermès Bélusca-Maïto
385274e2dd
[RAPPS] Merge CMainToolbar::Show/HideButtonCaption() into one single function. 2024-09-18 12:31:41 +02:00
Whindmar Saksit
301675c112
[RAPPS] Respect partial settings configuration (#7247)
Instead of defaulting all settings if any setting is missing, respect any setting that is already set and default the rest.
2024-09-16 00:51:53 +02:00
Whindmar Saksit
3f54e0e504
[RAPPS] Fix AppInfo panel WM_SYSCOLORCHANGE bug (#7290) 2024-08-31 22:10:35 +02:00
Whindmar Saksit
163f3407c8
[RAPPS] Show listview context menu when the keyboard menu button/Shift+F10 is pressed (#5620) 2024-08-31 18:30:45 +02:00
Whindmar Saksit
0e0f99744f
[RAPPS] Refreshing the Installed list should restore the selected item (#5676) 2024-08-22 23:21:59 +02:00
Andrei Miloiu
fd1a48d497
[RAPPS] Improve Romanian (ro-RO) translation (#6858) 2024-08-19 23:54:05 +02:00
Václav Zouzalík
8ee524ac06
[RAPPS] Update Czech (cs-CZ) translation (#7177) 2024-07-29 14:18:32 +02:00
Whindmar Saksit
e87f1d5d91
[RAPPS] Uninstall empty directories after its children (#7164) 2024-07-25 00:22:12 +02:00
Whindmar Saksit
a45d375f60
[RAPPS] Fix CAB codepage handling (#7165)
- MultiByteToWide parameter bug.
- Use CP_UTF8 to convert cab filenames if the UTF attribute is set.
2024-07-22 16:20:31 +02:00
Mark Jansen
7f31cdc18f
[RAPPS] Add new Let's Encrypt issuer certificate
CORE-19666
2024-07-18 21:59:14 +02:00
Joachim Henze
e1c5b7366a
[RAPPS] *.rc: IDC_DEFAULT_SETTINGS Optimize AUTORADIOBUTTONS, WS_GROUP (#7094)
- The stuff with the AUTORADIOBUTTONS is a small optimization to slightly reduce code-size and binary-size.
- Also add a missing WS_GROUP to IDC_DEFAULT_SETTINGS, which prevents leaving the group of the 3 bottom-most buttons to the left with the left-arrow-key.
- we need to add a return TRUE into WM_INITDIALOG section of SettingsDlgProc() to handle the default keyboard focus correctly towards the topmost AUTOCHECKBOX in this dlg. That part was contributed by @whindsaks , thank you very much for that!
- pl.PL: Add a missing ES_AUTOHSCROLL
- improve a few accelerators here and there

For the record: If no additional style is set then an AUTORADIOBUTTON gets by default BS_AUTORADIOBUTTON | WS_TABSTOP
see https://learn.microsoft.com/de-de/windows/win32/menurc/autoradiobutton-control
2024-07-10 00:51:19 +02:00
Joachim Henze
9a25ee24ca
[RAPPS] *.rc: Strip "Progress1" string (#7091)
That saves a tiny bit of binary size, and makes a long line shorter.
2024-07-07 13:20:47 +02:00
Joachim Henze
416bfc4308
[RAPPS] *.rc: Strip 2x "popup"-strings (#7092)
This shrinks the binary size a tiny bit.
2024-07-07 13:07:01 +02:00
Joachim Henze
42780b19c1
[RAPPS] *.rc: Fix accel collisions, improve accel consistency to en-US (#7072)
* improve some accels in consistency to en-US (we are free to change them in rapps to our hearts desire, because there is no MS rapps), in general:
where nothing speaks against use &B for ID_RESETDB, because &t looks poor with Tahoma
where nothing speaks against use &E for ID_REGREMOVE (because &R is often used for &Refresh and tends to collide)
where nothing speaks against use &R for ID_REFRESH
where nothing speaks against use &I for ID_INSTALL
where nothing speaks against use &U for ID_UNINSTALL
where nothing speaks against use &M for ID_MODIFY

* Fix some accelerator collisions:
* en-US.rc: fix an accelerator collision between "&Refresh" and "&Remove from Registry" in 2 menus
* et-EE.rc: Fix accel collision between "&Desinstalli" and ""Uuenda an&dmebaasi"
* hu-HU.rc: Fix an existing accel collision between "&Telepítés" and "Ada&tbázis frissítése", by using the english accelerator for the ID_INSTALL for best consistency
* pl-PL.rc: Fix an accel collision between "&Plik" and "&Programmi", stick with the english accels for uninstall and "remove from registry" for consistency.
* pt-BR.rc: Fix an accel collision between "A&tualizar" and "Update Da&tabase", stick with the english accel also for "R&emover do Registro" for consistency.
* pt-PT.rc: Fix an inconsistency between "&Instalar" and "I&nstalar" between 2 menus, which is not only unintuitive, but also will hurt string pooling. Other changes are for consistency to en-US.
* ru-RU.rc: Reduce inconsistency between the 2 ID_INSTALL in 2 different menus, this will help string-pooling. It will also avoid defining "&Установить" next to "&Удалить" in the same dlg, although that might not be necessarily a collision here, as I am not sure whether Install/Uninstall is even both displayed as activated at the same time. Still better like that.
* sv-SE.rc: Fix accel collision between "&Ta bort från Registret" and "Update Da&tabase", the rest is for improving consistency to en-US
* tr-TR.rc: Fix inconsistency in the accels between "Uyg&ulama" and "Uy&gulama", as that will hurt string-pooling. Use "Uygulama Veri &Tabanını Yenile\tCtrl+F5" for both menus instead. That's the english accel also.
* uk-UA.rc: Fix accel inconsistency between the 2 menus for ID_UNINSTALL. This will help with string-pooling.
* uk-UA.rc: Use "Вида&лити з реєстру" in both menus for ID_REGREMOVE, because that will help with string pooling and improves user experience
* ja-JP.rc: Fix accel collision between "レジストリから削除(&R)" ID_REGREMOVE and "更新(&R)" ID_REFRESH in both menus, also this syncs the accels to en-US. Also add an accel for ID_ABOUT, just because I am friendly.
* A bunch of accel-changes for the sole purpose of matching en-US more closely. Those are only really important for the 3 chinese languages which always aim to follow en-US accels to the point, and for zh-TW that stuff was unintentionally offsync also between their 2 ID_RESETDB in the different menus. For all other languages this is just a nice addition for consistency to en-US. But no absolute must-have.
* The small &t within "Da&tabase" renders poorly in Tahoma because it is a very small-in-x-letter. By using &b in majority of languages, same as ru-RU and pt-BR.rc did already, we can make that look much better. I checked that this will not cause any new collisions.
* fr-FR.rc: Hermes' feedback: A french extrawurst for ID_REGREMOVE doesn't hurt me at all.
* de-DE.rc: Avoid accels of the kind &Ä &Ö &Ü. They are not wrong strictly speaking, but they are suboptimal.
* Strip some comments from sk-SK
* Strip some whitespace from ja-JP
2024-07-06 23:40:03 +02:00
Whindmar Saksit
d73a838245
[RAPPS] Load icons on background thread (#6881)
- Load icons on background thread to massively reduce loading time.

- Use SM_CXICON sized icons consistently instead of hardcoding 32 in some places.
2024-06-13 02:20:41 +02:00
Whindmar Saksit
3f6af8b848
[RAPPS] Improve existing window re-use (#5617)
- Fix small race between CreateMutex and CMainWindow creating the window, and another instance getting NULL from FindWindow.
- If the existing window is minimized, it should be restored.
2024-06-08 01:18:18 +02:00
Whindmar Saksit
5db69da46b
[RAPPS] DelRegEmpty instruction should be best-effort, don't propagate any errors (#6860)
DelRegEmpty exists to clean up "company" registry parent keys. If another application is writing to the key at the same time as we are gently trying to remove it, our uninstaller should ignore any errors.
2024-05-12 00:07:54 +02:00
Thamatip Chitpong
750bf12256
[RAPPS] Fix refresh not working correctly (#6864)
Addendum to commit 33c2903e6d
CORE-18459
2024-05-10 22:59:19 +07:00
Whindmar Saksit
57b775ef6e
[RAPPS] Automatically generate installer/uninstaller for downloaded zip/cab files (#6652)
With a single database line added to applications distributed as zip/cab allows rapps.exe to act as an installer that automatically extracts the files and creates a startmenu shortcut. It can also uninstall the extracted files (and optionally other files and registry entries created by the application).
2024-05-08 23:58:54 +02:00
Katayama Hirofumi MZ
1fbf09f531
[RAPPS][SHLWAPI][SDK] Un-escape URL filename (#6626)
Choosing the better filename.
JIRA issue: CORE-19490
- Add UrlUnescapeAndMakeFileNameValid helper function.
- Use UrlUnescapeW and PathIsValidCharW.
- Add PATH_CHAR_CLASS_... flags for PathIsValidCharA/W.
2024-03-17 08:15:08 +09:00
Andrei Miloiu
16c6f9ecb9
[RAPPS] Improve Romanian (ro-RO) translation (#6489) 2024-02-12 17:58:43 +01:00