- Use the same keypress 'C' to create either primary or logical partitions.
Their type is automatically determined, whether they are created in
general unpartitioned space, or space within an extended partition.
- Extensively adapt the translations to reflect these changes.
Do not do that yet for extended partitions (containers).
This is possible, because when creating partitions, we do that on
unpartitioned space that is already "tagged" as either being "logical"
or not, and the partition style is inherited from that.
The resulting code is simpler, yet working as it should.
This will also help in the future for supporting other platforms, where
the concept of "primary", "extended" and "logical" partitions do not
exist (basically all platforms except BIOS-based PC-AT).
Unify CREATE_{PRIMARY,EXTENDED,LOGICAL}_PARTITION_PAGE
(i.e. Create{Primary,Extended,Logical}PartitionPage() functions)
into a single CREATE_PARTITION_PAGE (i.e. CreatePartitionPage()).
A lot of code was duplicated there (display, size input, etc.) just
for calling ultimately the Create{Primary,Extended,Logical}Partition()
helper functions.
This will also help in the future for supporting other platforms, where
the concept of "primary", "extended" and "logical" partitions do not
exist (basically all platforms except BIOS-based PC-AT).
- Improve ImageModel::PushImageForUndo.
- Use FormatMessage in newly added
ShowOutOfMemory function.
- Call ShowOutOfMemory() when out of memory.
CORE-19227, CORE-19094
Some of the Menu-controls are just dummies in the RC,
because those controls are dynamically replaced at runtime
based on which tab/propsheet is active in taskmgr.
They are replaced by the IDS_MENU_* strings then.
Deduplicating them has many advantages:
1.) It shrinks binary size:
master taskmgr.exe RosBEWin2.2.2 GCC8.4.0dbg 708.608 -> 696.832 bytes
2.) Translators don't get lured into translating dead stuff,
assuming they translated the menu properly, while in fact they did not.
This is *real*. Happened even to me multiple times already, although
I am actually aware of the design.
3.) Some of them were offsync already between the dummy and the real thing.
4.) It reduces diff between en-US and other rc's.
* Aside of that improve alignment in some languages rcs in the "Shutdown"-menu-section,
* and improve a translation in de-DE, sq-AL, and zh-CN.
* [TASKMGR] id-ID.rc 2 accelerators in the same string is definitely wrong
* [TASKMGR] *.rc, make sure that warning is in all 30 langs, especially in en-US.rc
* [TASKMGR] for several translations add FIXME-comments regarding accelerator collisions
- Delete global zoomTo function.
- Add CCanvasWindow::zoomTo and
CCanvasWindow::getNewZoomRect functions.
- Rename CCanvasWindow::updateScrollInfo as
CCanvasWindow::updateScrollRange.
- Rename CCanvasWindow::resetScrollPos as
CCanvasWindow::updateScrollPos.
- Draw the proper zoom rectangle on mouse move.
- Revert the active tool on click when the tool
was Zoom.
CORE-19094
Drawing lines smoothly on big image.
- In CCanvasWindow::DoDraw, calculate the
intersection to reduce bits transfer.
- Improve SmoothDrawTool in handling Shift key.
CORE-19094, CORE-19237
This allows to move this choice sooner in the process, thus having all
the user key presses at first, then all the actual installation going
without any key presses needed anymore... (that is, unless you wanted
to install the bootloader on a removable device. Then it will prompt
you there!)
- Additional "cosmetic"/future-proof changes: Rename all instances
of "floppy" in the bootloader install variables to "RemovableDisk"
because it would be great to have this install choice later.
- Layout adjustments in the translated bootloader pages.
- Skip bootloader installation on upgrades. The idea here is that if
we were able to find a ReactOS installation to upgrade, this means
we were able to find a valid bootloader + boot entry.
See also PR #5633.
This logic may be slightly improved in the future to detect whether
the underlying bootloader is FreeLdr and if so, only update its files.
But this is for the future.
In some situations, the scroll position should be reset.
- Add CCanvasWindow::resetScrollPos method.
- Reset the scroll position on loading a file.
- Reset the scroll position on mirroring/rotating
the image.
CORE-19094
- Delete CCanvasWindow::drawZoomFrame.
- Invalidate the canvas on mouse move when
the active tool is Zoom tool.
- Add ZoomTool::OnDrawOverlayOnCanvas to
draw the zoom rectangle without flickering.
- Improve the zoom trackbar position.
- Display the zoom rate on changing the value
of the zoom trackbar.
- Reverse the direction of the zoom trackbar.
- Don't draw the focus rectangle.
CORE-19215, CORE-19216
We had collisions in many languages.
For most languages (which are derived from en-US) we should use
&Priority
P&roperties
We introduced the collisions during 0.4.15-dev'ing when
MENUITEM ID_PROCESS_PAGE_PROPERTIES
and
MENUITEM ID_PROCESS_PAGE_OPENFILELOCATION
were added.
We verified Win7-en and Win2k3-en to behave as proposed in this PR (R for properties, P for priority).
But *french* Windows (I believe Hermes picture was from WinVista-fr or Win7-fr or Win10-fr maybe) does it differently.
the existing de-DE also has been double-checked to exactly match MS with the accelerators in that menu.
The scroll info was not updated when the file is loading.
- Rename CCanvasWindow::Update as CCanvasWindow::updateScrollInfo.
- Update scroll info on ImageModel::NotifyImageChanged.
- Improve ImageModel::ClearHistory.
CORE-19094
Taskmgr used a mixture: Sometimes _countof(), sometimes ARRAYSIZE()
and sometimes it calculated the count plain by sizeof(var)/sizeof(TYPE).
Harmonize everywhere to _countof() as it is the shortest solution.
Fix some formatting sins, like placing comments before else-statement.
Shorten the length of some very long line
intentionally *without introducing additional linebreaks* !
Shorten vertical length of some functions to increase their chance to
fit on the screen without scrolling.
Fix wrong indentation level in TaskManagerWndProc().
*.rc: Remove superfluous and redundant comment in all langs
No functional change intended.
I spotted yet another flip:
translation of IDS_TAB_PFDELTA and IDS_TAB_VMSIZE were flipped.
I spotted that by toggling all columns off entirely
in the View-Options dialog where the columns can be selected
and then added only one column at a time. I did that for all options.
I do recommend translators of other langs to do the same test,
I was shocked about the amount of bugs I spotted for german.
And it is very subtle / easy to miss, if you enable/disable multiple columns
together!
Let's call it a day now!
This is an addendum to 0.4.15-dev-413-g ed7196d964
binary size shrinks slightly although that dlg was unused:
taskmgr.exe RosBEWin2.2.2 GCC8.4.0dbg 715.264 -> 708.608
This fixes several issues:
- add a few missing translations, e.g. ID_PROCESS_PAGE_PROPERTIES & ID_PROCESS_PAGE_OPENFILELOCATION
- IDS_TAB_PEAKMEMUSAGE translation was flipped with IDS_TAB_MEMDELTA
- IDC_MEM_USAGE_FRAME had text truncation, fix that by structurally switching to "Speicher"
- waste less space for the listview headers in the Processes tab so user can display more columns conveniently without the headers unnecessarily being crippled to "..."
- Sync some controls sizes back to en-US in the performance tab
- Translation for ID_VIEW_CPUHISTORY_ONEGRAPHALL and ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU was swapped accidentally
- Strip comment lines in the end, which were outdated anyway
- avoid monsters that not even a german person can read like "Auslagerungsdateiauslastungs-Verlaufsanzeige" which is like "Donaudampfschifffahrtselektrizitätenhauptbetriebswerkbauunterbeamtengesellschaft"
- [EXPLORER] Set maximum balloon width for notification area
- [COMCTL32] Fix balloon tooltip shape
- Limit balloon tooltips from extending past the edges of the monitor, not the edges of the work area.
- Instead of simply repositioning the main rectangle when the balloon is too far towards one edge of the screen,
try flipping the balloon the other way. This is the same behavior as Windows Server 2003.
- Tweak some values used to draw the balloon tooltips to more closely follow the Windows balloon tooltip style.
- Removing trailing whitespace.
- While the new changes are guarded, consider cancelling our Wine sync for common controls.
Our common controls are responsible for many graphical issues and lack of features throughout ReactOS.
CORE-19109
It's simpler and only needs to be included once at the beginning of the
header file. It generates an unique identifier for the file automatically,
so maintainers wouldn't need to choose unique names for the macros.
It will be helpful if any future refactoring takes place.
Signed-off-by: Sarthak Roy <sarthakroy2002@gmail.com>
- Introduce the concept of "brush width" to the
tools model.
- Enable changing the brush width by Ctrl+Plus/Minus
key combination in TOOL_BRUSH.
- Re-define brush styles.
CORE-19094
- Introduce the concept of pen width (not line width) to the tools model.
- Enable changing pen/line width by Ctrl+Plus/Minus key combination in TOOL_PEN,
TOOL_LINE, TOOL_BEZIER, TOOL_RECT, TOOL_SHAPE, TOO_ELLIPSE, and
TOOL_RRECT tools.
CORE-19094
- Stamp the image of the selection when the user clicks on
the selection while holding down the Ctrl key.
- Draw the image of the selection continuously when the user
starts dragging the selection while holding down the Shift key.
CORE-19094
- While holding down the Shift key, drawing lines with the
pen/brush is limited to either of 8 directions (horizontal/vertical/diagonal).
- s/abs/labs/
CORE-19094
- Add Ctrl+Plus and Ctrl+Minus accelerators.
- Add IDM_CTRL_PLUS and IDM_CTRL_MINUS
commands.
- Stretch the selection area on IDM_CTRL_PLUS
and IDM_CTRL_MINUS actions.
CORE-19094
- Reduce display of error message on IDM_EDITCOPYTO and IDM_EDITPASTEFROM.
- Introduce LockBitmap/UnlockBitmap mechanism for ImageModel and SelectionModel.
CORE-19181, CORE-19182