Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi select (+ signaling fixes) #305

Closed
wants to merge 3 commits into from
Closed

Multi select (+ signaling fixes) #305

wants to merge 3 commits into from

Conversation

boenrobot
Copy link
Contributor

I think it would be nice to have multi selection for quicker device manipulations.

This pull request adds just the ability to select and delete multiple items, while making sure not to invoke stuff that targets an individual item (edit, change symbol).

Perhaps in the future, there may be some extra means of bulk edit devices, but at this point, I'm just starting to "dive" into the code, so take this here as a starting point ;) .

BTW, I've also taken the liberty of converting any encountered SIGNAL("triggered()") calls into trigger.connect.

(Everything, with the exception of IOU, has been thoroughly tested, in at least as much that I can compile it, and do the things without anything popping into the console; The Travis error doesn't seem related)

@julien-duponchelle
Copy link
Contributor

Thanks we will review it.

@boenrobot
Copy link
Contributor Author

I noticed I was supposed to use the build_pyqt.py instead of directly using pyuic5... I had some minor troubles, and I've fixed them, and regenerated all dialogs with it.

As part of the fixes, I've also made the build script strip the path from the comments... It's somewhat annoying to look at absolute paths, plus, privacy (kind of).

Also adds "Delete" as part of the context menu of devices.

(Some methods are reordered for consistency; Legacy signaling is fixed to the new one where encountered)
…he .ui file in the comment.

Shrinked the minimum width of all preference dialogs.
Removed zorder nodes (PyQt5 complains...) and regenerated all preference dialogs.
@boenrobot
Copy link
Contributor Author

Just FYI. The latest regeneration of the UI files made this PR unmergable. I've rebased it and resolved the conflicts.

(It would be nice if this gets merged before the next regeneration...)

@grossmj
Copy link
Member

grossmj commented May 4, 2015

Hi Vasil,

We will try. Also, we are in the process of creating a CLA, would you be ok to sign one?

Thanks.

@boenrobot
Copy link
Contributor Author

What's a CLA? Contributor License Agreement? Sure.

@grossmj
Copy link
Member

grossmj commented May 4, 2015

Yep a contributor license agreement, is Vasil Rangelov your real name?

Thanks,

@boenrobot
Copy link
Contributor Author

Yes.

But... why ask? I mean, surely, you'd have the CLA as a form in which I'd fill that (and any other info you might need...) don't you?

@grossmj
Copy link
Member

grossmj commented May 4, 2015

That's because we usually pre-fill the form, didn't mean to sound inquisitive. Anyway I think we will send you one soon.

Also, it appears we receive bug reports from your machine while you develop (there are supposed to be deactivated by default when you have a .git in your directory). Can you de-activate this in Preferences -> General -> Misc. -> Automatically send crash reports? This will save us some time wondering why there is a bug in code that don't exist ;)

Thanks a lot,

@boenrobot
Copy link
Contributor Author

That's because we usually pre-fill the form, didn't mean to sound inquisitive. Anyway I think we will send you one soon.

Have you considered simply using CLAHub? They have nice integration with PRs, letting you see whether the contributor has signed the (project wide; not contributor specific) CLA, so there's no need to pre-fill anything. Plus, it integrates nicely with GitHub accounts, making it easier on contributors too.

Also, it appears we receive bug reports from your machine while you develop (there are supposed to be deactivated by default when you have a .git in your directory).

They weren't for some reason... Probably because I also have 1.3.2 installed. I've disabled them now from both the ini in the repo and from the stable build (just in case). Sorry about that.

@grossmj
Copy link
Member

grossmj commented May 4, 2015

Have you considered simply using CLAHub? They have nice integration with PRs, letting you see whether the contributor has signed the CLA, and there's no need to pre-fill anything. Plus, it integrates nicely with GitHub accounts, making it easier on contributors too.

Yep we are considering using CLAHub or Google Forms or another approach. We want to make this as painless as possible for contributors.

They weren't for some reason... I've disabled them now. Sorry about that.

No worries. So do you have a .git in your directory? There is maybe a bug on our side. @noplay can you check?

@boenrobot
Copy link
Contributor Author

No worries. So do you have a .git in your directory?

I've cloned the repo, so yes. The GNS3 executable however doesn't run from inside that, which may be the cause here.

I compile it using python setup.py build_wininst, install the resulting binary, and then run it from the resulting C:\Python34\Scripts\gns3.exe. Initially, I tried to just extract the SCRIPTS folder out of the installer, but no dice that way.

Yep we are considering using CLAHub or Google Forms or another approach.

Well, you know my vote :-P .

@julien-duponchelle
Copy link
Contributor

yes it's why we didn't detect it as a dev machine.

On Tue, May 5, 2015 at 12:14 AM, Vasil Rangelov notifications@github.com
wrote:

No worries. So do you have a .git in your directory?

I've cloned the repo, so yes. The GNS3 executable however doesn't run from
inside that, which may be the cause.

I compile it using python setup.py build_wininst, install the resulting
binary, and then run it from C:\Python34\Scripts\gns3.exe.


Reply to this email directly or view it on GitHub
#305 (comment).

JULIEN DUPONCHELLE
Software Engineer

E: julien@gns3.com
LinkedIn http://linkedin.com/in/julienduponchelle/

http://www.linkedin.com/in/stephenguppy288, 200 – Rivercrest Drive SE
Calgary, AB, T2T 2X5
Twitter http://www.twitter.com/gns3_official | Facebook
https://www.facebook.com/gns3official | LinkedIn
http://www.linkedin.com/company/gns3-net | Google+
https://plus.google.com/+Gns3Net/posts | CrunchBase
http://www.crunchbase.com/organization/gns3

@boenrobot
Copy link
Contributor Author

For future's sake... Is there a more straightforward way to compile and run the GUI from inside the repo folder (on Windows)? I know I can run previews for each GUI page from Qt Designer, but that's not the same as seeing the "living" application.

@julien-duponchelle
Copy link
Contributor

On unix we run it directly with python gns3/main.py, perhaps you need to set PYTHONPATH environment variable to . before.

@boenrobot
Copy link
Contributor Author

On unix we run it directly with python gns3/main.py,

Being new to Python, I was under the impression that running main.py would run the code uncompiled (=> with GNS3 being a large application, it would be slow as hell). Now that I actually tried it, I see that's not the case, I'm guessing because of the earlier python setup.py install call. Thanks.

@julien-duponchelle
Copy link
Contributor

Python byte code i generated at first execution. It's very fast.

@grossmj
Copy link
Member

grossmj commented May 5, 2015

@boenrobot we will send you a CLA at the end of the week. Meanwhile we will try to merge your PRs. Sorry for the delay, we are just working on releasing GNS3 1.3.3 RC1 and we keep getting bug reports ;)

@julien-duponchelle
Copy link
Contributor

A demo vidéo:
http://youtu.be/34Oca5iYy1M

@julien-duponchelle
Copy link
Contributor

I have squash everything to a single commit and merged it:
f280445

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants