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

Reintegrated changes from https://github.com/MultiMC/MultiMC5/tree/develop/libraries/ganalytics #17

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

kropp
Copy link

@kropp kropp commented Jan 5, 2017

I've integrated changes from https://github.com/MultiMC/MultiMC5/tree/develop/libraries/ganalytics mentioned in #16
Fixed examples, so right now this library can be used both in Qt Creator and CMake

@theoriginalgri
Copy link
Member

Hello Victor,

thank you for your pull request and sorry for the delayed answer. I am very happy to see that other people care about this project and want to contribute! We could also talk in person about this pull request on Thursday on the Qt Munich Meetup.

There are some things which we should include, but it seems like there are multiple changes which cancel each other out. The following changes were introduced by MultiMC5 (@peterix):

  • CMake support added - ok
  • ganalytics.h was moved to include/ - ok
  • GAnalytics class got spaces->tabs, all Q_PROPERTY entries removed, functions reordered, LogLevel::None removed, optional QQmlComponent implementation removed - why?
  • ganalytics.cpp was moved to src/ - ok
  • GAnalytics::Private was renamed to GAnalyticsWorker and moved to ganalytics_worker.cpp - why?
  • GAnalytics::setAnonymizeIPs/anonymizeIPs was added - ok
  • GAnalytics::setClientID/clientID was added - ok
  • GAnalytics::startSending/isSending/isSendingChanged were replaced by isEnabled/enable - why?
  • Hardcoded 30 seconds send-interval was dynamicalized to m_timerInterval - ok
  • System detection was moved to sys/ and removed - why
  • GAnalytics::version and constructor added - why

I would not change the things which I commented with “why?”.

Followed by your changes:

  • Remove of sys/ introduced by MultiMC5
  • GAnalytics::version constructor parameter removed
  • Made compilable without QT_GUI_LIB again
  • Merged ganalytics_worker.h back to ganalytics.h
  • Added Q_PROPERTY back without changed signals
  • Removed QtCreator settings from .gitignore and added cmake

So for me this looks like the author of MultiMC5 changed many things and you reversed some of them to get it working. I propose that we merge the following changes manually (based on our master branch):

  • Move files to include/ and src/
  • Add CMake configuration
  • Add setAnonymizeIPs/anonymizeIPs/anonymizeIPsChanged and setClientID/clientID/clientIDChanged
  • Add setEnabled/isEnabled/enabledChanged without removing isSending since this marks "currently working"
  • Add version getter
  • Add property for send interval
  • Add cmake ignores to .gitignore

I can do that, but this would mean we lose the change history from you and MultiMC5. If you want you could make a new pull request (or edit this one) with the above mentioned changes to have a clean and straightforward history. What do you think?

Christoph

@peterix
Copy link

peterix commented Jan 24, 2017 via email

@kropp
Copy link
Author

kropp commented Jan 25, 2017

Actually, I ended up rewriting Analytics support from scratch due to several reasons. Main are:

  • library didn't suit our threading model (e. g. activities are already running in background thread, no need for new one)
  • we have our own networking abstractions with a bunch of problems solved. Cost of adapting them was much higher than rewriting.
    etc.

So, I suggest you'd better merge changes you find useful manually. I don't need my name in commits too. Feel free to rewrite history or close this PR without merging.

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

Successfully merging this pull request may close these issues.

4 participants