# PyGuiSignal

Simple script that parses your source code and the files made by `pyuic` for *PyQt*. It adds any "missed" signal handlers to your source code (e.g. the "clicked" signals for buttons).

## What it does
* Automatically scans folders and compiles `.ui` and `.qrc` files using `pyuic`.
* Parses the (pyuic generated) `.py` files and adds missing signal handlers to the `.py` (logic) files.

## Running

Run using Python 3.x, e.g.

```
python3 pyguisignal <path>
```

* `<path>` is the directory to scan, but you can also specify a single `ui` file if you want.
* You can pass more than one `<path>` at once.

## Structuring your files

The default configuration assumes the following (VisualStudio-esque) file structure, (but it can be modified to your liking!):

Resources:

```
/xxxxxx.qrc   <- Qt Designer file (INPUT)
/xxxxxx_rc.py <- Resources autogenerated code (OUTPUT)
```

Dialogues:

```
/yyyyyy/xxxxxx_designer.ui <- Qt Designer file (INPUT)
/yyyyyy/xxxxxx_designer.py <- GUI autogenerated code (OUTPUT)
/xxxxxx.py                   <- GUI logic (INPUT/OUTPUT)
```


## Configuration

You can modify `pyguisignal.json` (in the `pyguisignal` folder) to configure the application.

For convenience, a default `pyguisignal.json` will be created when `pyguisignal` is first run.

However, as it's just a simple script, you can also just the source code!


# System requirements

Should work on any system, but it's been tested on:

* Windows 7
* Kubuntu
* OSX

To avoid configurations for one machine not working on another, PyGuiSignal fixes the separators (`/`) you specify in paths, but this might not work on all systems.

Meta
----

```ini
host=bitbucket
licence=https://www.gnu.org/licenses/agpl-3.0.html
language=python
type=application,cli
```