Use new style dialog to browse a folder#9378
Use new style dialog to browse a folder#9378mere-human wants to merge 2 commits intonotepad-plus-plus:masterfrom
Conversation
Add new methods to CustomFileDialog: - setTitle() sets the dialog title - setFolder() sets an initial directory - pickFolder() shows a file open dialog to select a folder Use CustomFileDialog in folderBrowser(). Affected areas: - Search > Find in Files - File > Open Folder as Workspace - Preferences > Default Directory - Preferences > Backup > Custom Backup - Preferences > Cloud & Link Fix notepad-plus-plus#8513
Will it accept paths (or partial paths) with Also: |
With all of these areas, it is getting harder to hold on to the existing regular File-Open and File-SaveAs dialogs (you know, the workhorse ones). :-) |
|
BTW, I would have done all of these types of dialog changes myself some time ago, but @donho 's dislike of COM (aka the "dark power" LOL) prevented me from putting the effort in. :-) |
No, not yet. I plan to solve this issue separately, in scope of #9374 |
donho
left a comment
There was a problem hiding this comment.
Replace or convert getFolderName() with new folderBrowser()
I didn't recall that you wanna give it a try. Sorry about that. |
folderBrowser() provides similar functionality to getFolderName(). Use the same code to make things easier. Now getFolderName() will also show new style folder picker dialog. Affected areas: Project Panel 1. View > Project Panels > Project Panel 1 2. Workspace > Add New Project, select it 3. Edit > Add Files from Directory
Done. It was used only in Project Panel to add files from a directory. |
Ha! Well, you don't read minds do you? |
|
One thing that bothers me a bit is that the original folder picker functions didn't respect the "Default Directory" preference. |
|
@mere-human |
I mean, when we set the Default Directory preference, then most of the file dialogs will set that as an initial directory. But now that I think about it, it seems to be a different, not related problem. |
|
OK, I see. |
|
@mere-human |
|
I just discovered that using the new style dialogs makes Notepad++ unusable under Windows XP, because these functions are only available since Windows Vista. Under Windows XP, Notepad++ dies now with a message box saying "The procedure entry point SHCreateItemFromParsingName could not be located in the dynamic link library SHELL32.dll". |
Good! Let's not let ancient OSes hold up good new development efforts! XP support was dropped a bit ago; @chcg recently told us exactly with which commit it was dropped but I can't find it ATM. |
IMO that doesn't make sense
IMO: Could be done, but it sounds like complicating the code unnecessarily. IMO: XP users want to use an ancient OS that is no longer updated by its maker, they can use older versions of N++ (also which are not updated by ITS maker) that DO support their OS. |
|
I don't use Windows XP anymore, but obviously some users do. I stumbled over it in Issue #9347. I brought up the question, because Notepad++ 7.9.2 still works under Windows XP, and the next version will not start anymore. This is the hard end of XP support. If everyone is fine with this, I don't need XP neither. |
When I said earlier that "@chcg recently told us exactly with which commit it was dropped" I meant that there was a feature that was no longer working when invoked, which is obviously a bit different than "won't start anymore". |
|
Perhaps it deserves a bigger jump in the version number, like to 8.0.0. And this "completely new" version doesn't run under Windows XP anymore. And the preprocessor definition WIN32_WINNT=0x501 could be upgraded to WIN32_WINNT=0x600. Then, the redefinition of WIN32_WINNT here would become unnecessary, and we would have a software designed to run from Windows Vista on. It's an administrative decision. I imagine, many XP users didn't realize the end of support until now, but they will realize it, as soon as it doesn't start anymore. |
|
There already was a PR, though I haven't tested it personally (TBH I have never built NPP myself because feel like it is a bit large, though may try) and IDK if it really works. |
|
I think they are exaggerating a bit, since if the update is merely cosmetic, it is because this program has already covered practically all the possible functionalities that a text editor can have, I do not understand why instead of thanking that this software maintained the support for a system that was decommissioned 7 years ago, they reproach it for wanting to continue growing. In addition, the source code is public, that is, its way of proceeding is completely transparent, I mean if it were really a popular demand, practically anyone could create their own compilation of the software. I say this as a Windows XP user, since I have no other option, that is why I know and see in first person how limiting it is to develop for this system, when my brother helps me develop applications, sometimes he has to do several compilations until he achieves that everything works fine on my OS, it's frustrating, but it is. python, .net framework and many lesser known libraries no longer support XP, it is sad as I said, for many this operating system is an obligatory reality, but that is not why you can force someone to stay still or look for elaborate solutions just to please Some. Computers are not what they were and technology always evolves, and although it may start as something cosmetic, later it can give way to much more and if not. In any case, it is not a decision that corresponds to us to make, at least not, sitting from the comfort of our homes... A cordial greeting to everyone. |
|
Hello again. |
Sorry, no. Final answer. |
|
@Terwilf @KOLANICH But my role is not a simple user, so here are some viewpoints from a project maintainer: Is new-style dialog (or rather "modern" style) an essential functionality? It could be a debate, but the answer clearly for me is YES. It's not only about the look & feel, it's about the ergonomic issues and bunch of functionalities on which @mere-human did a lot of coding effort - the modern style dialog does matter. My job is not to make everyone happy (whatever we do, there always are people who are not happy anyway), but execute the right tasks (with my vision) for the project - here the right task to me is scarify an old OS which had been abandoned by MS since 2014 (no more security updates or technical support from MS) to make the maintenance of Notepad++ project as easy as possible. It's a technical reason with no doubt. I apology to the XP users for the fact that Notepad++ continues without XP - you can always use the old versions under XP, and benefit the modern functionality under Windows 10 with the latest versions of Notepad++. |
No, it's not. A technical reason is when it is not technically possible. When it is possible, but someone just doesn't want, it is not a technical reason. Calling quasi-technical excuses doesn't make the reason technical, since the excuses have nothing common with the possibility of implementing this feature:
How it is related to the possibility to detect the presence of the needed API in runtime?
Do contributors of NPP really need technical support that is not available to program NPP properly? Under support I don't mean here API docs still available in the Internet, I mean what is usually meant under a support for Windows that was not available. (BTW, I once used such a support, W 7 has stopped to use a NIC, but Linux used it fine. I have phoned MS, but they haven't managed to help me. The issue has strangely resolved itself after a half of year of using Linux as a main OS: I had to run Windows and noticed that NIC icon in the tray had no ❌).
Is not a technical reason. It is basically an another wording of "we don't want", and "we don't want" is not a technical reason. You have full rights not to do what you don't want to do, like keeping workaround for things noone of you needs personally. You have also a right to call it a technical reason and say any other nonsense - free speech must be an universal right. But calling the reason "we don't want to do that" technical is still disrespect to everyone reading the changelog. Please state clearly in the changelog that |
It's true. Thank you for the compliment! :-) |
|
TANSTAAFL, you know. Ones who pay (in any form) for any project decide whom to ban from there and whom not to on their own discretion. And it is completely OK. |
I absolutely understand the reasons not to support XP and respect your decision to drop it. Anyway, it is you bear the expenses on coding npp, not me. (If someone finds that bringing XP support back overweights the expenses of compiling and maintaining a fork, there would be one. The invisible hand (or game theory, in more scientific wording) in action.) But the reasons are not technical ("it is impossible"), but political ("we don't want") and I think it should clearly stated as such. I don't demand it (it is up to the team to decide, not me, since I have 0% of lines of code in this repo), but I ask you to change the text in the changelog not to create a false impression that it was dropped because it was impossible and the devs had no another choice, rather it was dropped because of the choices made and that there are people who are responsible for the choices made. If one makes such choices, it would be more fair to attribute the choices to himself and say "Because I have decided so. Deal with it." rather than to "circumstances", so other people would have the correct impression "it is not the circumstances and force majeure, it is choices, I can make an own fork and make own choices there".
I don't think that just saying truth in a polite way is disrespectful. |
|
Where you started by saying:
Thank you for a nice statement. It clarifies your position. Since the reason has already been published in the change log, I don't know that a retraction and restatement of it is reasonable/possible. If you have a suggestion for how this might be done, perhaps @donho would consider doing it. |
No. It's not reasonable. I know you're kidding but I want to still make one point clear: BTW, thanks to @KOLANICH (and other security people) the release has been signed by GPG. Yet another reason to not ban him :) Regarding "political reason" that @KOLANICH mentioned, as the BDFL in this project, every feature I decided to integrate is "political", according to such viewpoint. Though I don't agree with such point, I will say no more about it - it'll lead meaningless & endless arguing. |
|
while i wish that notepad++ continues supporting xp for more versions or forever at best! |
|
mere-human, |
This seems like an unusual request. If you have an idea for a Notepad++ feature, the proper procedure is to create an issue so that it can be discussed properly, not in some one-on-one email basis. |
|
i forgot to ask, |
So that would be a feature request to be made via the issue system, but it would be declined because it is for XP.
Questions go HERE
It is good to want things! :-) |
|
i make issues on github for my request. |
|
|
in the previous time, i could not find informations about you and your profile. i could only read my profile by my nvda screen reader. |
|
I'm not seeing Linux/WINE here: https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/SUPPORTED_SYSTEM.md |
|
Probably, a bug should be reported into Wine repository. |
This button is also appearing in the second screenshot I attached.
This does seems related, at least to me.
First I wanted to confirm that whether these problems are because of Wine or Notepad++. If these are not fault of Notepad++ then creating a new issue is of no use; sasumner and donho would scold me. ;-) |
The button ↑ allows you to navigate to the parent folder. What you have on the 1st screenshot is probably the poorly implemented feature in Wine. |









Add new methods to CustomFileDialog:
Use CustomFileDialog in folderBrowser().
Affected areas:
Fix #8513