notsecure / uTox

Lightweight Tox client
utox.org
GNU General Public License v3.0
597 stars 149 forks source link

User interface code refactor. #1088

Closed GrayHatter closed 9 years ago

GrayHatter commented 9 years ago

The drawing tree was somewhat haphazard in its layout. With some panels called from other, and some separate and enabled/disabled by name only. Now with the current layout, every panel/button/dropdown, just about everything drawable is in a sane tree format meaning each child or parent is easier to find and each can be called without having to interfere or disturb others.

There are three reasons this is better; First, the layout and flow is much more readable (to me). Second in this format, you can trim and replace parts of the tree as needed. meaning if you want to write a function that will drastically change the skin of µTox, that can be done now without any hacky code. and Finally, by creating a new root panel tree, you can add additional windows without interfering with the primary µTox window.

Drawing graphics or more importantly buttons inside the video popup windows is now much easier and can most of the code can be copy pasted and should Just-Work™

@stal888 I hope I didn't break your search tree function, if you would be so kind as to tell me if I did? then this can be merged.

stal888 commented 9 years ago

Nothing seems to be broken :+1:

GrayHatter commented 9 years ago

@irungentoo