Author Topic: annoying dialogs  (Read 8036 times)

Balazs

  • Guest
annoying dialogs
« on: August 10, 2006, 04:24:48 pm »
1.
In the "Project build options" dialog it asks every time I want to delete one item from the "Link libraries" list on the "linker tab": "Are you sure?". This is annoying, as I think if a DEVELOPER clicks on "Delete" he most certainly doesn't do it by accident. Cmon on, we aren't that lame, shish... :roll:
I hope there will be an option the remove these dialog.

2.
This is new behaviour since 1.0rc2, that in the same "Project build options" dialog it asks every time if I modify something, then I switch to another build target item in the tree, whether I want to apply my changes. Again, this is annoying, as most DEVELOPERS if they change something in a dialog, they usually MEAN it seriously, and if they don't want it to happen, they can still simply click Cancel. This dialog wasn't present in earlier versions.

EDIT: There is also a serious issue regarding point 2.: If I change a lot of things in some of the build targets options in the "Project build options" dialog, and I always click on the "Yes" when the dialog pops up (described in point 2.), THEN I click Cancel on the main dialog (the Project build options dialog), my changes WON'T be undone! This is REALLY bad behaviour, as the Cancel button becomes totally meaningless! In my opinion, this should be fixed.

I propose to point 2.: Don't ask anything, but let the user modify whatever he wants, and if he clicks OK, then Apply and Save the changes, otherwise if he clicks Cancel, then don't save the changes.

--
Greets,
B.
 
« Last Edit: August 10, 2006, 04:36:11 pm by Balazs »

Offline Ceniza

  • Developer
  • Lives here!
  • *****
  • Posts: 1441
    • CenizaSOFT
Re: annoying dialogs
« Reply #1 on: August 11, 2006, 03:04:38 am »
You're right, that kind of things are Hell annoying... and believe it or not some people love them and has asked for them... and more.

If it was my choice I would remove them :wink:

Reminds me of those Linux distributions where issuing rm will ask you if you really want to remove a file for every single file you told it to, but in that case there are workarounds and ways to disable that behavior.

The useless Cancel button is a known bug and those dialogs look like a workaround that isn't addressing the real problem (load displacement archetype?).

Anyone else considering Code::Blocks a developer's tool? :)

Offline Game_Ender

  • Lives here!
  • ****
  • Posts: 551
Re: annoying dialogs
« Reply #2 on: August 11, 2006, 04:31:13 am »
Don't we have a dialog that can handle this?  If the dialog is truly annoying it should be turned into one of those dialogs that you can just check the little box and it will never come up again.  What is the problem with the dialog then?

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: annoying dialogs
« Reply #3 on: August 11, 2006, 07:57:09 am »
To all those that were asking for this "Are you sure" dialogs: I told you: Once we implement this others will complain in the opposite. I knew it... :?
Again here is my opinion: A developer should know certain things including how to setup compiler options and how a build process works. And if he knows there is absolutley no need to warn/help whatsoever with the setup. All he needs is just the plain option dialogs. Period.
With regards, Morten.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline thomas

  • Administrator
  • Lives here!
  • *****
  • Posts: 3979
Re: annoying dialogs
« Reply #4 on: August 11, 2006, 09:05:06 am »
To all those that were asking for this "Are you sure" dialogs: I told you: Once we implement this others will complain in the opposite. I knew it... :?
Not true, I already complained about it before... :)
"We should forget about small efficiencies, say about 97% of the time: Premature quotation is the root of public humiliation."

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5493
Re: annoying dialogs
« Reply #5 on: August 11, 2006, 09:11:20 am »
let me give some information.

1) "Link libraries" list on the "linker tab" :
 - correct, this is a bit to annoying, I will change it into an annoying dialog, which you can tell to never pop-up again.

2) this siutation is a bit more complex.
Initially there were no dialogs when you switch your selection in the tree or when you switched compiler.  But initially there were a whole lot of inconsistencies, some changes would only happen when you pressed the OK button, and could have been lost when you switched your selection in the tree or you switched compiler. Other changes got applied directly the moment you changed them, leaving you with no way to cancel out.
Through the introduction of these new dialogs you can now cancel out (with 2 exceptions : adding/deleting a compiler and the advanced options, but those are on the todo list), since all changes are kept in memory and applied on 'save' time. There are now 3 'save' times :
  - pressing the OK button
  - switching compiler
  - changes you selection in the tree

The way the compileroptionsdialog WAS and STILL is implemented I only keeps track of the active selection (project or target or compiler), meaning when one of those switches, it's state will change and be updated with the new selection, so at that time we either need to drop the old (modified) state or save it.

Looking elsewhere we see tha M$ Developer Studio does the same thing : when you change settings in the 'Debug' configuration and then in the dialog you switch to the 'Rele\ase' configuration you also get asked to apply or not. Their dialog also seems to keep track of just 1 selection.

But maybe we can do better, but this will require a major change (note : I might do it ;-) ), since the state has to be enlarged and you need to keep track of everything.
When you have a project whith 2 targets (debug and release) this state is very little and easy to have an overview of for the user. But consider the CB project :  it has 23 more or less independent targets -> big state, ahrd as a user to keep track of what was altered and what was not (idea : show an * after the name in the tree). But I can immagine that some users will complain when they have changed several targets and then realize they made a mistake in some of them. Now what do you do : in our case, well on the current target is the state, so only this one can be damaged or cancelled. But what if all 'savings' are postponed till the very end, then cancelling out will drop all your changes, and it is not hard to immagine you wouldn't like to start all over again.
So everything at the end could be a dangerous way of working. Yes, we are all developers and we (should) know what we are doing. But if all us really now that well what we are doing, somebody please explain to me all those buggy software out there in the real world. We all make mistakes you know. And a developers tool is used by the experienced users but also by novices, so don't expect everyone to know the things on an equal experienced level.

I think the way it is now, and also the way M$ does it is a nice compromise to start out with, we could make the dialog also annoying so you can turn it off (and always 'yes' as the answer) so the experienced users don't need to click it (hey they don't need the cancel button anyway, why ? well they know what they are doing ;-) ). The one thing that M$ has and we don't have : "Apply" button, next to OK and Cancel, which can be pressed the moment you have changed something.
This is also on the TO-DO list, but I need to investigate a bit further, since the buttons are in a place where I think they might show up on other settings dialogs to (not sure).

Well, I'll put it on my TO-DO list to turn the current ones into "annoying" dialogs.

Note : some more of those dialogs will pop-up (annoying ones also). Because when you change the compiler of the project and you do NOT then allow it to change all the targets to that compiler also, the policies have to be checked and adjusted accordingly (you can not mix settings of 2 compilers), the same goes when you change the compiler of a target (don't mix with settings from the project).
And when you switch the compiler of a project/target all of it's current settings should be omitted, because settings of compiler A are probably different from the ones from compiler B (we already had a discussion about this, so please do not fire it up again ;-) ).

Anyway, I'll keep on thinking about the idea of doing all savings at the very end, and allowing to apply (apply button) for the current selection through a new button, amd showing the modified state (through a *) in the tree. Then at least if you think you made a mistake you can go and apply the ones you know you don't need to check again. But as I see it know this is an optimisation, first things should work correctly (eg : compiler switch -> policy adjustment), so it's at the bottom of the TODO list.

Balazs

  • Guest
Re: annoying dialogs
« Reply #6 on: August 11, 2006, 02:50:58 pm »
Good posts, everyone, I laughed good on the first ones :D

So anyway, I think what killerbot suggested in his final paragraph is a good idea. The BEST solution to the problem, and in my opinion, the EXPECTED behaviour for new users. I recommend that.

--
Greets,
B.

Offline Game_Ender

  • Lives here!
  • ****
  • Posts: 551
Re: annoying dialogs
« Reply #7 on: August 11, 2006, 02:53:56 pm »
To all those that were asking for this "Are you sure" dialogs: I told you: Once we implement this others will complain in the opposite. I knew it... :?

I was arguing for a few more "Are you sure" dialogs, but I wanted dialogs that couldn be dispatched permanently.  The problem here was not so much the dialog, its the fact that if you don't want to have to answer the question again you can't tell the dialog to go away.

Offline rcoll

  • Almost regular
  • **
  • Posts: 150
Re: annoying dialogs
« Reply #8 on: August 11, 2006, 05:07:48 pm »
So, let me get this straight ...

Some dialogs will have a "Never Show Again" checkbox, yes?
Will there be a "Are You Sure" dialog to confirm the checkbox?  :?

How about a few dialogs when you start to compile something?
First, "Are You Sure?"
Second, "Are You REALLY Sure?"
Last, "What Will This Program Do?"

Just my 2c.

-- Ron --


Offline artoj

  • Almost regular
  • **
  • Posts: 206
  • Location: Supporting my team
    • http://ajonsson.kapsi.fi/
Re: annoying dialogs
« Reply #9 on: August 11, 2006, 05:36:31 pm »
The problem I have with annoying dialogs is that I have to see them before I can disable them. Like I've said before, if the configuration panel in Environment - Disabled dialogs would list all the dialogs (not only those that have been disabled), then I could just disable those I want or better, disable them all in one pass.

So my suggestion:

- List all the annoying dialogs in Disabled dialogs at all times; check in those which have been disabled because it's list of disabled dialogs
- Provide Disable all and Enable all buttons

Balazs

  • Guest
Re: annoying dialogs
« Reply #10 on: May 24, 2007, 03:01:55 pm »
I think I'll just bump this, as there are still lots of confirmation dialogs, that cannot be disabled, like when deleting linker libraries, include dirs, etc. at Build Options.

Is there a possibility to remove these? They are extremely hindering.

--
Greets,
B.

Offline David Perfors

  • Developer
  • Lives here!
  • *****
  • Posts: 560
Re: annoying dialogs
« Reply #11 on: May 24, 2007, 03:15:15 pm »
Request it here that way it will not be forgotten.
OS: winXP
Compiler: mingw
IDE: Code::Blocks SVN WX: 2.8.4 Wish list: faster code completion, easier debugging, refactoring