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

Extension templating #26

Merged
merged 107 commits into from Apr 16, 2014

Conversation

seamustuohy
Copy link
Collaborator

Completed extension template loading functionality.

Seamus Tuohy added 30 commits March 11, 2014 14:05
One of the development goals of the Commotion_client (commotion-computer to the savvy) is to make extension of the toolkit as easy as possible for other developers. As such, this branch will focus on building a set of templates (shown in this commit) and extending them to create a full commotion core module.
This work includes adding some base assets to QT designer to support our core Commotion styles.
main.py will now create a simple working window after very little modification. This should increase usability.
Created a config file for the tutorial object, a main.py fil that does nothing, and a full GUI (with the desperate need for the final application text to be completed.
Moved setup functionality into modules and added a basic welcome page as the first extension loaded
Added proper logging and removed unneeded global exception handling
Extension manager created with core functionality to load an installed extension, get a section from a extension, and check the installed extensions.
Moved validation into validate.ClientConfig and moved all file system interaction into QDir's and proper os.path.join's
Moved extension manager into utils because it is logical. Cleaned up code to be more pep8 compliant.
Seamus Tuohy added 28 commits April 4, 2014 16:34
Added unit-tests, ConfigManager, extension loading functions, and fs_utils that work with zipped files>
Due to config properties setting themselves they were fully recursive. To stop them from turtle-ing all the way down I changed them to set local variables, like they should have in the first place.
Bundled the utility with the extension manager where it belongs.
Removed attempts at translation before application initializes. Added a check for the home directory before attempting to create it so that if it already exists the logger does not fail.
QDir.setPath(\'x\') will change the directory using the current directory as a guide. QDir.cd(\'x\') will change the directory with THAT QDir's current directory as a guide. e.g. when calling code from /home/s2e/ where you create the QDir mydir = QtCore.QDir(\'/tmp/'). mydir.setPath(\'new\') == /home/s2e/new, mydir.cd(\'new\') == /tmp/new.
Core and global extensions will now both live in the application path to get around root permission issues.
seamustuohy pushed a commit that referenced this pull request Apr 16, 2014
Extension templating has completed with extensions loading into the menu and populating into the mainWindow. MainWindow central widget interactions have not been completed.
@seamustuohy seamustuohy merged commit e3e13ca into opentechinstitute:master Apr 16, 2014
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.

None yet

1 participant