Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » My TheIDE complaints
My TheIDE complaints [message #27509] |
Wed, 21 July 2010 15:00  |
mrjt
Messages: 705 Registered: March 2007 Location: London
|
Contributor |
|
|
Hi. I've got a couple of issues with recent changes to TheIDE that are really winding me up.
FontScroll: I really, REALLY hate this feature in VS. I'm not even sure what it's for, but I only even trigger it by accident when holding down Ctrl and trying to scroll the code view. It's then very fiddly to find the text size that I prefer again. Of all of the good features of VS it seems bizarre that this is the one that gets perfectly copied.
Who on earth thought it was a good idea to bind this goddamned feature to CTRL+MouseWheel anyway? If you really want to zoom out the text to scroll (the only use I can imagine) then bind it to a key or something, not some combination that I already activate constantly! Also the default text size should be the MAXIMUM size so that it's easy to return to your prefered size when you inevitably trigger it by accident. What the hell is the point of enlarging the text? If you can't read it then you need to set a bigger default font!
Rant over. This feature badly needs a setting to disable it.
New find-replace dialogs: The original Find/Replace dialog was non-standard and admittidly had a few things that could be improved. However, once you got used to it it was BETTER than the standard way of splitting up the dialogs.
I have now bound Replace to CTRL+F so I never even use the 'Find' dialog but I'm still missing the old 'Replace ALL' option. I don't want to have to select the whole file in order to replace all instances.
AutoComplete: As someone who uses both VS and TheIDE having the auto-complete key as TAB in VS and K_RETURN in TheIde drives me crazy. I can't change VS but can this please be configurable in TheIDE please?
Otherwise it's lovely 
[Updated on: Wed, 21 July 2010 15:01] Report message to a moderator
|
|
|
Re: My TheIDE complaints [message #27517 is a reply to message #27509] |
Wed, 21 July 2010 19:07   |
|
mrjt wrote on Wed, 21 July 2010 09:00 |
New find-replace dialogs: The original Find/Replace dialog was non-standard and admittidly had a few things that could be improved. However, once you got used to it it was BETTER than the standard way of splitting up the dialogs.
I have now bound Replace to CTRL+F so I never even use the 'Find' dialog but I'm still missing the old 'Replace ALL' option. I don't want to have to select the whole file in order to replace all instances.
|
+1. I also preferred the old dialog. It was a way better for me.
|
|
|
Re: My TheIDE complaints [message #27518 is a reply to message #27509] |
Wed, 21 July 2010 19:14   |
|
Hi mrjt,
FontScroll: I use it sometimes to get better idea about the code, just setting smaller font to see bigger area. On the other you are right that it is hard to get back the original size using the mouse wheel. What about changing the binding to Ctrl+"+", Ctrl+"-" and Ctrl+0 for default size? That is pretty much standard too, I think.
Find and Replace: If I am not mistaken, some of the features of the old style can be turned on in configuration.
Honza
|
|
|
|
Re: Replace All [message #29551 is a reply to message #27509] |
Thu, 28 October 2010 08:34   |
oan1971
Messages: 7 Registered: April 2010
|
Promising Member |
|
|
I do not know the old find / replace dialog, but I am too missing the "Replace All" feature.
After looking at the U++ sources it does not seem too hard to create it:
Adding a new member function to uppsrc/CodeEditor/FindReplace.cpp:
void CodeEditor::ReplaceAll()
{
NextUndo();
if(!findreplace.replacing)
return;
int l, h;
if(GetSelection(l, h))
return;
CachePos(l);
SetSelection(0, 0);
const WString find = ~findreplace.find;
const bool wholeword = findreplace.wholeword;
const bool ignorecase = findreplace.ignorecase;
const bool wildcards = findreplace.wildcards;
for(;;) {
if(!Find(false, find, wholeword, ignorecase, wildcards, true))
break;
int hh, ll;
GetSelection(ll, hh);
int d = Paste(GetReplaceText(~findreplace.replace, wildcards)) - (hh - ll);
if (hh <= l)
l = l + d;
else if (ll < l)
l = min(l, hh + d);
}
SetSelection(l, l);
Refresh();
}
Adding a new "Replace All" button to the find / replace dialog in uppsrc/CodeEditor/CodeEditor.lay:
LAYOUT(IDEFindReplaceLayout, 408, 118)
ITEM(Label, dv___0, SetLabel(t_("Find:")).LeftPosZ(8, 46).TopPosZ(4, 19))
ITEM(WithDropChoice<EditString>, find, HSizePosZ(54, 8).TopPosZ(4, 19))
ITEM(Label, replace_lbl, SetLabel(t_("Replace:")).LeftPosZ(8, 46).TopPosZ(28, 19))
ITEM(WithDropChoice<EditString>, replace, HSizePosZ(54, 8).TopPosZ(28, 19))
ITEM(Option, wholeword, SetLabel(t_("&Whole word")).LeftPosZ(8, 76).BottomPosZ(40, 18))
ITEM(Option, ignorecase, SetLabel(t_("&Ignore case")).LeftPosZ(100, 76).BottomPosZ(40, 18))
ITEM(Option, wildcards, SetLabel(t_("Wild&cards")).LeftPosZ(192, 68).BottomPosZ(40, 18))
ITEM(Button, amend, SetLabel(t_("R&eplace")).LeftPosZ(8, 68).BottomPosZ(6, 24))
ITEM(Button, amendall, SetLabel(t_("Replace &All")).LeftPosZ(80, 68).BottomPosZ(6, 24))
ITEM(Button, findback, SetLabel(t_("Find Previous")).RightPosZ(160, 80).BottomPosZ(6, 24))
ITEM(Button, ok, SetLabel(t_("Find Next")).RightPosZ(80, 76).BottomPosZ(6, 24))
ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(8, 64).BottomPosZ(6, 24))
END_LAYOUT
Setting up the new button in uppsrc/CodeEditor/FindReplace.cpp:
Adding amendall.Show(replacing); to FindReplaceDlg::Setup just after and findreplace.amendall.Hide(); to CodeEditor::FindReplace after findreplace.amend.Hide();
Setting up the new function in uppsrc/CodeEditor/CodeEditor.h:
Adding to class CodeEditor just after
Wiring the new button in uppsrc/CodeEditor/CodeEditor.cpp:
Adding findreplace.amendall <<= THISBACK(ReplaceAll); to CodeEditor::CodeEditor just after findreplace.amendall <<= THISBACK(ReplaceAll);
The attached zip contains the changed files from uppsrc/CodeEditor (from release 2791).
I am not sure I got the CachePos call right. But it seems to work quite well for me.
Oliver
910eb20c14e026a87ffb2b0d38b9ddb7
|
|
|
Re: My TheIDE complaints [message #30039 is a reply to message #27517] |
Sat, 04 December 2010 20:49  |
 |
mirek
Messages: 14255 Registered: November 2005
|
Ultimate Member |
|
|
unodgs wrote on Wed, 21 July 2010 13:07 |
mrjt wrote on Wed, 21 July 2010 09:00 |
New find-replace dialogs: The original Find/Replace dialog was non-standard and admittidly had a few things that could be improved. However, once you got used to it it was BETTER than the standard way of splitting up the dialogs.
I have now bound Replace to CTRL+F so I never even use the 'Find' dialog but I'm still missing the old 'Replace ALL' option. I don't want to have to select the whole file in order to replace all instances.
|
+1. I also preferred the old dialog. It was a way better for me.
|
Well, thank you. I liked it more too. But I had a lot of users insisting about it being illogical etc.. So I gave it up....
Anyway, if you are willing to add configuration switches, you have my FULL support. I think mrjt, unodgs, dolik.rce and mdelfede, you are all competent enough to do it right 
And TheIDE sources are open for you...
|
|
|
Goto Forum:
Current Time: Sun Apr 27 12:56:48 CEST 2025
Total time taken to generate the page: 0.00762 seconds
|