Author Topic: Made a new "Sort Order" dialog...  (Read 28609 times)

Offline ouch

  • Almost regular
  • **
  • Posts: 223
Re: Made a new "Sort Order" dialog...
« Reply #15 on: September 28, 2015, 08:57:14 am »
Really don't know what you have against advanced mode... Just don't click the box and you will never see it anyway. That's sort of the whole point to this updated patch. Because you were right, it may be too scary of a window for new users. That's why it defaults to basic mode now.

The resizing "magic" works by just calling the layout and fit functions built into wxWidgets. It then gets the resulting window size and sets that as a minimum size. And yes everything is all neatly nestled into sizers.

The reset list button just reloads the list as it was before the window was opened. It's basically like canceling and reopening the window. But now you can just click the button to reset the list.

Why I need the advanced mode? Most of my project files probably look a lot like yours. Just a release and debug target. Maybe a couple more if I had to support different platforms.

But my library project files usually look vastly different. For example here is a screen shot of my SQLite project file:



You can probably see just from that screenshot why being able to automatically sort build targets is crucial to me. And this is just a windows project file. Imagine what the linux one would look like with multiple platforms on it...

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Made a new "Sort Order" dialog...
« Reply #16 on: September 28, 2015, 10:01:28 am »
Really don't know what you have against advanced mode...
Because very few people will use it, most probably only you, but its complexity adds maintenance burden.
More features to test, more bugs to creep in, harder to change stuff.

The reset list button just reloads the list as it was before the window was opened. It's basically like canceling and reopening the window. But now you can just click the button to reset the list.
Another useless feature, for most people.

But my library project files usually look vastly different. For example here is a screen shot of my SQLite project file:



You can probably see just from that screenshot why being able to automatically sort build targets is crucial to me. And this is just a windows project file. Imagine what the linux one would look like with multiple platforms on it...
I have a feeling that you need scripting support for re-ordering targets instead of this monstrous dialog.
There you can implement the logic you want with just a single click.
Have you considered this option?

I still don't know why you have some many targets. You want to build against every version of your libraries?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline ouch

  • Almost regular
  • **
  • Posts: 223
Re: Made a new "Sort Order" dialog...
« Reply #17 on: September 28, 2015, 11:02:40 pm »
Because very few people will use it, most probably only you, but its complexity adds maintenance burden.
More features to test, more bugs to creep in, harder to change stuff.

How often would this need to be changed? Or more importantly I guess, how often has the old one been updated? I've been using this one for a couple years now on my own, so I can't imagine many, if any bugs remain in it. But feel free to test it.

Another useless feature, for most people.

It almost sounds like you think having the user cancel and reopen the dialog is acceptable UI design... While I suppose that it works, it seems fiddly, feels clunky, and more importantly is disrespectful of your end users time in my opinion.

I have a feeling that you need scripting support for re-ordering targets instead of this monstrous dialog.
There you can implement the logic you want with just a single click.
Have you considered this option?

I still don't know why you have some many targets. You want to build against every version of your libraries?

A monstrous dialog? Advanced mode is a handful of buttons with a few check boxes... If the user can navigate their way through the project options dialog to even get to it then advanced mode of this is a walk in the park by comparison. And even then they have to turn advanced mode on to even see it. Otherwise it's just as simple as the original dialog with a couple of time saving options.

Why would I write a script to make up for an open source program's UI shortcomings? Wouldn't it be more beneficial to me, the project, and it's users to just update the UI and submit a patch? I mean it would be like writing a script to overcome a bug instead of just fixing the bug and then submitting a patch...

And yes I need all those versions, they wouldn't be there if I didn't... I often don't even know who I'm going to be working for tomorrow let alone which version of whatever library they use. I only work at my steady job part time. So to make up for the lost income I often take up side projects here and there. And thus that's why I like to have a bunch of releases spanning the last 5 years or so on hand. Because you have no idea often I hear "We have not upgraded to version x in 6 years because version y broke everything"...

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: Made a new "Sort Order" dialog...
« Reply #18 on: September 28, 2015, 11:36:14 pm »
Why would I write a script to make up for an open source program's UI shortcomings?
Because it allows different use cases to be handled without the need for specific UI for every one.
I guess you have some kind of algorithm to sort your targets, if you write it as a script you'll waste less time in the long run.

Maintenance is not only related to code - we need to write documentation for new features (we rarely do unfortunately), we have to answer question about it on the forum and so on.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9702
Re: Made a new "Sort Order" dialog...
« Reply #19 on: October 01, 2015, 08:52:09 am »
Please note that this patch does not work for wx30+ so it won't be accepted "as-is".
The problem is that EVT_TEXT_ENTER is not available and causes a compilation error in editarrayorderdlg.cpp, unfortunately.
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 ouch

  • Almost regular
  • **
  • Posts: 223
Re: Made a new "Sort Order" dialog...
« Reply #20 on: October 23, 2015, 01:21:48 am »
Ok, should be fixed. Should compile against wx2.8 and wx3.x

Get the update below.

https://sites.google.com/site/ouchsdownloads/home/downloads/EditOrder.zip

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9702
Re: Made a new "Sort Order" dialog...
« Reply #21 on: October 23, 2015, 02:48:01 pm »
Because it allows different use cases to be handled without the need for specific UI for every one.
I guess you have some kind of algorithm to sort your targets, if you write it as a script you'll waste less time in the long run.

Maintenance is not only related to code - we need to write documentation for new features (we rarely do unfortunately), we have to answer question about it on the forum and so on.
Teodor is very right, indeed. However, I personally have had quite some use-cases for the advanced options since I am trying this patch myself. So I am not sure if the number of people that would use the advanced features is really that small. Whenever you start to re-organise projects this comes in very handy.

So while I agreed with Teodor in the fist place, meanwhile I tend to leave it as-it-is... meaning with the advanced feature included, but hidden.
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