nurupo / ProjectTox-Qt-GUI

A cross-platform front end for ProjectTox Core library, written in C++11 with use of Qt5
GNU General Public License v3.0
341 stars 116 forks source link

Ported to new ProjectTox-Core master branch #40

Closed germantux83 closed 11 years ago

germantux83 commented 11 years ago

Ported the GUI Project to the new master branch of ProjectTox-Core. Saved the state of the Messenger to a File called save.bak and loaded it on startup. This means your private and public keys are stored in filesystem and reused in next programm session. The class Starter has now a destructor which deletes the MainWindow instance and this deletes the instance of Core. The class Core and Starter are refactored with the pimpl idiom. Classes CUserId and CString seperated into own files. The "evil hack" for emittings singals from ProjectTox-Core-callbacks was removed. Now the new length of ClientID is used. The old was 64 characters, the new is 76 characters long.

nurupo commented 11 years ago

Ported the GUI Project to the new master branch of ProjectTox-Core.

As I already mentioned on the IRC many times for last couple of days, we want to put core updating on hold for some time.

Saved the state of the Messenger to a File called save.bak and loaded it on startup. This means your private and public keys are stored in filesystem and reused in next programm session.

https://github.com/nurupo/ProjectTox-Qt-GUI/pull/33#issuecomment-22514134

The class Starter has now a destructor which deletes the MainWindow instance and this deletes the instance of Core.

That's good.

The class Core and Starter are refactored with the pimpl idiom.

What is your reasoning of doing so?

Classes CUserId and CString seperated into own files.

There is no need in having separate files for CString and CUserId classes, since they are simple RAII classes and they are no used outside of Core anyway.

Now the new length of ClientID is used. The old was 64 characters, the new is 76 characters long.

Same as

Ported the GUI Project to the new master branch of ProjectTox-Core.

nurupo commented 11 years ago

Just noticed that I missed private part in Settings class, maybe that's why you pimpled it.

germantux83 commented 11 years ago

Ported the GUI Project to the new master branch of ProjectTox-Core.

As I already mentioned on the IRC many times for last couple of days, we want to put core updating on hold for some time.

Sorry, I'm not involved into the discussion on the IRC. The update was necessary because I need acces to the friendlist member of the core project. This is used to fill the FriendListWidget from saved Messenger state. First I forked the ProjectTox-Core and changed its API, but the master branch has already this features.

Saved the state of the Messenger to a File called save.bak and loaded it on startup. This means your private and public keys are stored in filesystem and reused in next programm session.

33

The class Starter has now a destructor which deletes the MainWindow instance and this deletes the instance of Core.

That's good.

The class Core and Starter are refactored with the pimpl idiom.

What is your reasoning of doing so?

Using the pimpl idiom makes the public definition of a class more clear, internal fields are not shown. The Core class has many private (static) functions for callbacks from the Messenger. To move them into a private class hides them from external interface.

Classes CUserId and CString seperated into own files.

There is no need in having separate files for CString and CUserId classes, since they are simple RAII classes >and they are no used outside of Core anyway.

The classes are only used in the internal code of the Core class. There is no need to have them in the public interface. Seperating them into files was done in cause of clarifying the core.cpp.

Now the new length of ClientID is used. The old was 64 characters, the new is 76 characters long.

Same as

Ported the GUI Project to the new master branch of ProjectTox-Core.