« first day (754 days earlier)      last day (2426 days later) » 

3:00 PM
We have tooltips everywhere else.
But yeah, you can have something like that if you insist.
 
buttons like this would REALLY help users (heck, and myself) understand what's doing what.
 
The other thing is our icons aren't that big.
 
I don't mean exactly like that...
 
Well what did you mean then.
 
7 mins ago, by Mat's Mug
It would be the icon and a bold "title", and under it a semi-short description that explains what it's for
 
3:02 PM
@Hosch250 Because some of us are still 5 year olds running around pushing shiny buttons with no real understanding of what they do!
 
@Mat'sMug That is exactly like that.
 
@Comintern so we need a GitHub API token
 
And our icons don't scale that big.
 
the layout would be similar to that of the bottom panel in the CE and inspection results toolwindows
[icon] [title]
[some text]
 
the icons don't need to be huge, they just need some explanation for us n00bs
 
3:05 PM
That will look like 8 buttons instead of 4.
 
not if the MenuItem's content is a vertically-stacking StackPanel
it will look like 4 large buttons
actually...
IIRC there are 32x32 and 64x64 icons in the Fugue icon set, are there?
hmm maybe not
 
For some icons.
We'll be able to provide more explanation in a tooltip.
I'll make a mockup and see how it looks.
 
I'd rather have the text directly in the button's content than in a tooltip - menu item tooltips are hardly discoverable... actually I don't think I've even ever seen a dropdown menu item with a tooltip
if at all possible, of course
 
Yeah, it's possible.
 
perhaps we could special-request a few icons to Yusuke Kamiyamane
 
3:14 PM
He'd probably make you pay.
 
depends
...
we could crowd-fund it :)
and then get rid of the Microsoft icons with a foggy license I'm not sure we're breaching
hey we already got $5 lol
 
Which icons are the MS ones? The document ones?
 
no, the VS ones
under \resources\microsoft
I think the masked versions could be breaching the EULA (they've been "modified")
OTOH they're the only way we could get them to look the way they were intended to look like at runtime, so it's blurry :)
 
Hmmm... Anything in there that isn't in the SharpDevelop icon set?
 
no idea.. what's SharpDevelop?
 
3:22 PM
It's a cross platform OSS .NET IDE.
I was actually just looking at their AvalonEdit control this morning.
 
hmm if they have all the icons we need (refactorings?), and they can share their icons with us, it could be an option
 
I'm seeing if I can track down the license for the icons.
 
the ideal icon set would be Yusuke Kamiyamane's work though
 
He did a bunch of the SharpDevelop stuff. The rest was done to match visually.
 
interesting
 
3:29 PM
[Hosch250/Rubberduck] Hosch250 pushed commit 22443ad3 to SourceControlBugs: Throw SourceControlException in one place rather than NullReferenceException to prevent crash. Disable commands for Source Control when they can't work.
> …ception to prevent crash. Disable commands for Source Control when they can't work.
Merge pull request #1936 from Hosch250/Issue1256

Localize file status values
Merge pull request #1934 from Hosch250/Issue1928

Display correct type for type hints
Merge pull request #1922 from Hosch250/logging

Remove unneeded logging
[Hosch250/Rubberduck] web-flow pushed commit 3e1b4b3c to SourceControlBugs: Merge branch 'next' into SourceControlBugs
[Hosch250/Rubberduck] build for commit 22443ad3 on SourceControlBugs: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 3e1b4b3c on unknown branch: AppVeyor build succeeded
 
I always thought my siblings did a rotten job vacuuming. Now our dogs are beginning to get fleas for the first time in about 20 years.
 
[Hosch250/Rubberduck] build for commit 3e1b4b3c on SourceControlBugs: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 22443ad3 on unknown branch: AppVeyor build succeeded
 
3:52 PM
@Hosch250 I was thinking about interception and exception handling last night. I came to the conclusion that there are two types of exceptions: those we can handle as part of a feature, and the rest which need to bubble up and stir shit - this latter category is what interception should address IMO
 
0
Q: how I can streamline the code below to loop each element in each array

FabrizioI'm not happy about my code, but is the better way that I find, I'm not happy because I see that there are many code repetitions and when any change is easy to make mistakes. Do you think you can do better? Any suggestions are welcome Sub ConvDateD(c As Integer) Application.ScreenUpdating = Fal...

 
Yeah, makes sense, but only if there is a single fixed action for them all, like logging.
And, BTW, putting the logging in the commands bound to the menu items doesn't work, and I figured out why.
 
go on
 
Most of those commands just open the UI, they don't actually handle the action.
So, either we need to go up a level into each action taken, whether it is a command or not, or we need to step back a level.
Not all of our commands are implemented as injected commands, most are defined in the VM.
 
an exception thrown in a VM bubbles up where?
 
3:55 PM
And even when we do extract them, we still need to map them to a specific action.
Not to the SourceControlCommand for the menu item.
TBH, I don't know where it bubbles up to.
 
it would bubble up the call stack, and the call stack has to include the command. we must be catching them somewhere before that if they don't.
 
No, because it hard-crashed the app.
@Mat'sMug No, it doesn't have to include the command.
 
hmm
 
public class ShowSourceControlPanelCommand : CommandBase
{
    public readonly IPresenter _presenter;

    public ShowSourceControlPanelCommand(SourceControlDockablePresenter presenter)
    {
        _presenter = presenter;
    }

    public override void Execute(object parameter)
    {
        _presenter.Show();
    }
}
See, it doesn't bubble up into the command.
So, we could let it bubble up into the presenter.
 
wouldn't SourceControlDockablePresenter.Show be part of the call stack?
 
4:00 PM
No, that just displays it.
 
right
makes sense
 
My solution is this:
 
and from the presenter it goes up to the kernel which created the instance, hence interception is required if we want to handle them
 
Leave the interceptor on the menu items--some of Execute's are directly responsible for their action.
Put an interceptor on the VM's; AFAIK, we can do this without needing to know the type.
 
how are the presenters bound? with the default interface rule?
 
4:03 PM
@Mat'sMug Not the presenter, just anything that implements ViewModelBase.
 
right
 
That will catch most of the problems.
 
log them at least
and well, if we make a messagebox be displayed, we wouldn't necessarily need to rethrow and bring ducky and the IDE down in flames
 
And rethrow them to prevent a delayed crash.
Well, true.
But we should force a restart because I can guarantee a people will ignore the message box.
 
we could let the user save their work before rethrowing :)
 
4:05 PM
We can automatically save the work.
 
do I merge #1938?
looks good to me
 
Yeah.
 
I think the added CanExecute delegates will actually prevent that SourceControlException from ever being thrown, but it's good that you're handling it still
 
[rubberduck-vba/Rubberduck] Hosch250 pushed commit 22443ad3 to next: Throw SourceControlException in one place rather than NullReferenceException to prevent crash. Disable commands for Source Control when they can't work.
[rubberduck-vba/Rubberduck] web-flow pushed commit 3e1b4b3c to next: Merge branch 'next' into SourceControlBugs
Merge pull request #1938 from Hosch250/SourceControlBugs

Throw SourceControlException in one place rather than NullReferenceEx…
 
@Mat'sMug I think that is exposed through COM.
That's the only reason I put that in there.
 
4:09 PM
that should close a few SC issues I think
 
How the VBE will handle C# exceptions, I don't know...
Will it just be exposed as COM Fail exception?
 
God knows
 
I can't figure out how to vertically align the image to top.
 
that looks bloody awesome!!
what's your XAML for the content?
 
<MenuItem.Header>
    <StackPanel>
        <TextBlock FontWeight="Bold"
                       Text="Open Existing Repository" />
        <TextBlock Text="Open repository from disk. Requires an empty project to be open in the VBE."
                       TextWrapping="WrapWithOverflow"
                       Width="200" />
    </StackPanel>
</MenuItem.Header>
 
4:15 PM
you could reduce font size a bit for the description
 
[rubberduck-vba/Rubberduck] build for commit b4e099f1 on next: AppVeyor build succeeded
 
@Hosch250 ah, that's the thing... the MenuItem is treating its icon as not part of the header
 
Hmm... the license for the MS icons specifically prohibits their use in GPL'd software:
You may not ... distribute the source code of any Distributable Code so that any part of it becomes subject to an Excluded License. An Excluded License is one that requires, as a condition of use, modification or distribution, that the code be disclosed or distributed in source code form;
 
@Mat'sMug Right.
 
@Comintern I hate licenses
 
4:16 PM
<MenuItem.Icon>
    <Image Height="16"
           Source="{StaticResource OpenRepoImage}" />
</MenuItem.Icon>
 
Ditto.
 
I don't.
 
so, for the love of licenses, let's kill all MS icons and look like shit
 
They may be annoying, but I understand the need for them, which prevents me from hating them.
 
it's actually a serious issue that we need to address... we need icons we can legitimately use
and that look pretty
 
4:18 PM
Actually, there's enough stuff in the #D icon set to work with. It's GPL.
 
awesome
 
Most of the ones from the MS set that aren't in there are simple two or three element combinations. I foresee much coping and pasting.
Do they have to be masked bmps or can they be pngs with an alpha channel?
 
the ones we use in commandbars need the masked bmp's
the ones we use in WPF toolbars and buttons can be png's with an alpha channel
 
> After reviewing the EULA for the MS Visual Studio icon sets, it appears Rubberduck is misusing these icons, and they need to be removed from the project.

This is going to be tedious and extraordinarily annoying, but the last thing we want is Microsoft taking us down over a bunch of icons.

This is critical and needs to be fixed ASAP.

- Icons we're using in COM command bars and VBE menus must be .bmp images with a mask version, for proper transparency.
- Icons we're using in WPF UI e
 
@Duga let that be an opportunity to clean up the darn image resources :-/
 
4:46 PM
Simple question:
private void FileExitClick(object sender, RoutedEventArgs e) => this.Close();
Do I use this or not?
I know both are correct, but which one is more correct?
 
I don't like using this.
My policy is to only use that if it is ambiguous.
 
mine is to only ever use this when I need to pass this around, e.g. in a builder pattern. I never use it as a qualifier, proper unambiguous naming makes the this qualifier redundant.
that said if you really want to qualify the Close() method, I'd go with base. it's just as redundant, but it more clearly says "that member is in the base class"
 
Okay, thanks :) I might've used it similar in Java but with this new method syntax I just changed my mind as it doesn't feel like you have access to the class instance anymore
in Cardshifter TCG, 10 secs ago, by Duga
[skiwi2/ArbitrageClient] skiwi2 pushed commit 2f943610 to master: Clicking on File > Exit now closes the main window instead of nuking the application.
 
:)
 
@Mat'sMug I really wouldn't do that unless you overrode it.
 
4:53 PM
you know me, if R# says it's redundant, it's gone :)
 
Same here, for the most part.
I really wish I could do the tree thing in C# 6.
Anyway, @Mat'sMug, I've been thinking this:
 
Do you have some examples of a WPF Window (maybe in this project), then I could check for some similarities
 
Is the unit testing being available really any more critical than the code explorer?
 
@skiwi we only have UserControls in Rubberduck.
@Hosch250 no, why?
 
Because if not, why take it off the parser state?
 
4:56 PM
how else do we get to member level?
 
Theoretically, only the first parse will ever be really slow for it because we only parse/resolve declarations for modified members.
 
wait, you mean the test explorer?
 
Yeah, test explorer/unit testing.
And almost nobody opens a project just to run unit tests, do they?
The biggest issue for me right now is how horribly slow the parser/resolver/inspector is on large-ish projects.
 
yeah
 
Like, we walk that tree four times without any way to check whether we are even interested in the child nodes and skip them.
 
5:00 PM
you know, my main problem with unit testing was that adding a 2nd test method stub takes forever because it needs to reparse after adding the 1st. but in real-life usage one would add a stub and then implement the test, and only then add another test stub. it's not as bad as it seems.
@Hosch250 would it look ugly if the icons were stretched to, say, 24px?
 
I don't even add stubs--I copy/paste existing tests to get the setup with minimal changes.
 
yeah
@Hosch250 "Creates a new repository from the current project"
or active project
IDE could have 5 open projects ;-)
 
That's the biggest problem with Source Control :/
 
IKR
 
Somehow, we need to be able to handle that.
 
5:03 PM
VS doesn't have to deal with that. VB6 neither. it's a completely new problem :)
 
TBH, I don't even know how these commands work with multiple open projects.
Sometimes I think I should just disable them for that.
We can handle the rest pretty OK, but...
 
are we tracking the project ID for the "current repository"?
 
@Mat'sMug Yeah, we know which project we are working in.
Although... what happens when we have two projects and close the SC one?
What happens when we open two SC projects?
 
in theory we should be able to switch repositories as we switch projects... but that wouldn't be very stable I think
 
Oh no, that would be awful.
 
5:07 PM
:o what is this magic, XAML element names are automatically injected in the C# source already, in JavaFX you had to bind them by hand with the @FXML annotation
 
@skiwi 99% of the time your XAML elements don't need a name
 
@Mat'sMug The menu item cuts off part of the image.
 
ah, makes sense
so the solution would be to tweak the MenuItem's ControlTemplate ...screw it
..for now anyway :)
 
@Mat'sMug But that's only in the MVVM if you bind them to a ViewModel?
 
I already tried that to hide the image.
I hide the image, but couldn't get the line to go away.
I was going to put the image at the top with a XAML grid with columns.
 
5:11 PM
@skiwi you only need to name XAML elements that you're referring to in code. the ViewModel doesn't know of the View so it shouldn't be accessing XAML elements, and the View's code-behind could do it, for presentation concerns - it's just that a vast majority of the time, whatever you do in plain C# in the View's code-behind, could also be done cleanly in XAML
 
Or put in a command...
Anyway, lunch time.
 
@Hosch250 you'd have to double the size of the left "panel", and then the icon could be up to 32x32 I think
and if you do that, then you might as well set its VerticalAlignment to Top
or whatever
and yeah, lunch time here too :)
 
Visual Studio's visual editor for XAML is a bit disappointing compared to SceneBuilder for JavaFX 8
 
I never drag-and-drop XAML. actually I only use the "visual editor" to see what the markup I'm typing looks like once rendered
dragging-and-dropping controls in the designer will cast your UI in concrete, with hard-coded arbitrary margins and whatnot
don't layout with margins, layout with layout controls
 
I need two screens :/
 
5:17 PM
lol
 
@Mat'sMug Actually not in SceneBuilder, though you have to set a few things to let it behave properly
 
I firmly believe D&D support was added as an afterthought - "oh yeah, we need to support all the noobs that don't want to do anything other than D&D-design their forms in VB"
 
XAML is going to get messy, good thing I won't have to touch it too much
 
WPF done right completely changes the UI paradigm, but it's flexible enough to let you do things the "good ol' WinForms way"
 
Lol, opening the new window exited the application
 
5:20 PM
@skiwi XAML is very verbose and highly nested
 
Problem now is that I suck at designing GUIs :P
 
get Balsamiq and draw them first. when they look right, implement them
 
Why have I never heard of that?
 
it's all over UX.SE
:)
 
Good, now my dad can design my application and I can build it :P
 
5:31 PM
lol
side note, is it just me, or....
like, WTF is up with these status codes
0=No Clue
1=Nope
2=Yes
3=Maybe
 
3=Yes and 2=Yes
wat?
 
0=No, 1=Yes, 1=No, 2=Yes
Makes perfect sense!
to someone...
 
5:51 PM
Shouldn't that be 1 = No, 2 = Yes, 3 = File Not Found?
 
Is 0 OS Not Found?
I got it--I had to override the menu style to get rid of the line.
 
@Hosch250 ok I'm so tweeting that
 
The icons don't look OK at all when they are bigger.
 
@Hosch250 - Is that because they're up-scaling from 16x16?
 
Yeah.
 
6:05 PM
Tweeted
 
They even disappear when they aren't enabled.
 
I'd remove the 2nd separator in the toolbar.
So where's the use case where you have a .xlsm workbook open, with the code you last saved, and want to sync it with the remote? Open Existing Repository? The wording for "requires an empty project" might need to be revised...
 
@Mat'sMug Definitely not.
That is a pull.
 
Ok so it's still unclear how that works
You open the project, how does SC knows to connect to the repo?
 
@Mat'sMug By the project ID.
 
6:13 PM
"It just knows" then?
The SC wiki needs a "Resuming Work" section
 
It checks when it detects a Pending state, IIRC.
I need to make that use the project-opened event.
 
So the "online" icon just pops when you open a project that's under SC
 
It should.
 
0
Q: Copy sheet contents faster in Excel

tjb1I have code that opens a workbook and copies the sheet to the workbook running the code. I know activating is generally bad for speed but I can't figure out how to speed this up anymore. The data area is usually "A1:Q45000" but is different all the time. Sub AutofillOperations() Dim answe...

 
I've noticed it doesn't always work...
 
6:16 PM
It should ;-)
Perhaps the online label should also indicate the name of the project it's monitoring
@Hosch250 project activated rather
 
Project opened for now.
Switching projects every time a different one is activated will be very, very expensive.
 
Do we want 32x32 versions of those icons? The source .psd files appear to be 32x32.
 
@Comintern It wouldn't hurt, but I think they actually look better small.
 
@Hosch250 yes, but disabling SC when the active project isn't the expected one won't be, and will also avoid problems
 
@Mat'sMug Oh, OK.
I thought you meant switch contexts.
That's something for 2.1, I think. We shouldn't go that route until it works good with one project.
 
6:30 PM
@Comintern yes! this could help with the 4K display issues, and we could use a 32x32 icon in that awesome descriptive menu :)
OMG it's like 4000 files...
 
I should only need to rebuild the ones that are being used though. I might be able to just toss together a GIMP script for it.
Should we be linking to the Fugue github repo on the rubberduck-vba/Rubberduck landing page instead of the author's page?
 
I'd say link both :)
 
6:45 PM
Only thing left is localizing the strings.
And making it highlight when it is hovered.
 
you know, our stupid corporate network blocks imgur.com/xxxxx, but not i.imgur.com/xxxxx. I don't know how one goes about getting one link or the other, but about 2/3 of the images posted here are blocked by our firewall. :(
 
Good news! Source Control commands will be much easier to grok next release (wording may vary)! #VBA #SourceControl https://t.co/xKMqz1lfNh
does it block t.co?
WHAT IS THIS BLOODY EVIL PIECE OF CRAP???
Set sch = Application.AdvancedSearch(strS, strF, ?Test?)
 
7:03 PM
@Mat'sMug VBA in general?
 
At least you know 'S' and 'F' are strings...
 
MSDN examples... the source of 80% of bad code out there
 
LOL
Does that even compile?
 
ok, ok ...just checked. ?Test? isn't valid. relief
they couldn't just make that TODO.. or just make a working example ffs
 
[Hosch250/Rubberduck] Hosch250 pushed commit 938c8bfb to SourceControlBugs: Give Source Control a menu.
[Hosch250/Rubberduck] Hosch250 pushed commit bcc960b3 to SourceControlBugs: Merge branch 'SourceControlBugs' of github.com/Hosch250/Rubberduck
 
7:15 PM
There, working, but not localized.
 
@Mat'sMug nope, I can see that. Heck, I can go to Twitbook all I want (of course, I don't, but...)
 
[Hosch250/Rubberduck] build for commit bcc960b3 on SourceControlBugs: AppVeyor build succeeded
> You're very quick; thank you! I'm going to take a look again this afternoon and try and get things running so I'll get back to you after that.

@Hosch250 could you please link to your notes on the new website?
[Hosch250/Rubberduck] Hosch250 pushed commit 6cb49415 to SourceControlBugs: Localize new menu
> I'm still working on them--I haven't even committed them to the repo.
 
7:31 PM
There you go, @Mat'sMug.
 
Merge pull request #1938 from Hosch250/SourceControlBugs

Throw SourceControlException in one place rather than NullReferenceEx…
[Hosch250/Rubberduck] web-flow pushed commit 2d4a23ae to SourceControlBugs: Merge branch 'next' into SourceControlBugs
 
We've got a weeks worth or more before we can say 2.0 is "stable", I guess, and another weeks worth of working on the website.
I don't even think we'll be able to get 2.0 out with my 450 internship hours, even if we have been able to get it almost there.
And we are beginning to have scope creep something awful.
 
how's scope creeping?
 
Vogel's PR, Rossco's references thing.
Personally, I'm at the point where we delay all enhancements and just kill the existing bugs.
It is probably already as stable as 1.4.3, anyway, or pretty close.
 
references dialog is scheduled for 2.1 and definitely in scope; a regex assistant is fine for 2.1 too
maybe 2.2 even
 
7:35 PM
2.1, of course. I meant the 2.0.
 
[Hosch250/Rubberduck] build for commit 6cb49415 on SourceControlBugs: AppVeyor build succeeded
 
If me and Comintern are the only ones fixing bugs, we'll never keep up with the new features.
 
I need to make time and get coding again.
 
[rubberduck-vba/Rubberduck] build for commit 6cb49415 on unknown branch: AppVeyor build succeeded
 
Be sure to leave time for your family--they are more important than RD.
@SlowLearner Can you verify #1828 isn't fixed, and provide steps on how to reproduce it?
@Zak What's up with #1745?
Also, is Source Control working any better now?
I'm taking my dog on a walk, BBL.
 
7:42 PM
[Hosch250/Rubberduck] build for commit 2d4a23ae on SourceControlBugs: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 2d4a23ae on unknown branch: AppVeyor build succeeded
 
@Mat'sMug That's merge-ready, take a look.
 
ok thanks
 

« first day (754 days earlier)      last day (2426 days later) »