From 7e8f57260c105cd58829fbff6d9e970f7f5025ba Mon Sep 17 00:00:00 2001
From: inso <insomniak.fr@gmaiL.com>
Date: Tue, 16 Aug 2016 21:40:24 +0200
Subject: [PATCH] Reorganization of files following controllers structure

---
 requirements.txt                                 |  3 ++-
 .../gui/{certification => dialogs}/__init__.py   |  0
 .../certification}/__init__.py                   |  0
 .../{ => dialogs}/certification/certification.ui |  0
 .../{ => dialogs}/certification/controller.py    |  8 ++++----
 .../gui/{ => dialogs}/certification/model.py     |  2 +-
 .../gui/{ => dialogs}/certification/view.py      |  4 ++--
 .../base => dialogs/transfer}/__init__.py        |  0
 .../gui/{ => dialogs}/transfer/controller.py     |  6 +++---
 src/sakia/gui/{ => dialogs}/transfer/model.py    |  0
 src/sakia/gui/{ => dialogs}/transfer/transfer.py |  0
 src/sakia/gui/{ => dialogs}/transfer/transfer.ui |  0
 src/sakia/gui/{ => dialogs}/transfer/view.py     |  4 ++--
 src/sakia/gui/main_window/controller.py          |  7 +++----
 .../status_bar}/__init__.py                      |  0
 .../{ => main_window}/status_bar/controller.py   |  2 +-
 .../gui/{ => main_window}/status_bar/model.py    |  0
 .../gui/{ => main_window}/status_bar/view.py     |  0
 .../wot => main_window/toolbar}/__init__.py      |  0
 .../gui/{ => main_window}/toolbar/controller.py  | 12 ++++++------
 src/sakia/gui/{ => main_window}/toolbar/model.py |  0
 .../gui/{ => main_window}/toolbar/toolbar.ui     |  0
 src/sakia/gui/{ => main_window}/toolbar/view.py  |  0
 src/sakia/gui/navigation/controller.py           | 16 ++++++++--------
 .../graphs}/__init__.py                          |  0
 .../graphs/base}/__init__.py                     |  0
 .../{ => navigation}/graphs/base/controller.py   |  4 ++--
 .../gui/{ => navigation}/graphs/base/edge.py     |  0
 .../{ => navigation}/graphs/base/graph_tab.py    |  0
 .../gui/{ => navigation}/graphs/base/model.py    |  0
 .../gui/{ => navigation}/graphs/base/node.py     |  2 +-
 .../gui/{ => navigation}/graphs/base/scene.py    |  0
 .../gui/{ => navigation}/graphs/base/view.py     |  0
 .../graphs/explorer}/__init__.py                 |  0
 .../graphs/explorer/controller.py                |  2 +-
 .../gui/{ => navigation}/graphs/explorer/edge.py |  2 +-
 .../{ => navigation}/graphs/explorer/explorer.ui |  4 ++--
 .../graphs/explorer/graphics_view.py             |  0
 .../{ => navigation}/graphs/explorer/model.py    |  0
 .../gui/{ => navigation}/graphs/explorer/node.py |  2 +-
 .../{ => navigation}/graphs/explorer/scene.py    |  0
 .../gui/{ => navigation}/graphs/explorer/view.py |  0
 .../graphs/wot}/__init__.py                      |  0
 .../{ => navigation}/graphs/wot/controller.py    |  2 +-
 .../gui/{ => navigation}/graphs/wot/edge.py      |  2 +-
 .../{ => navigation}/graphs/wot/graphics_view.py |  0
 .../gui/{ => navigation}/graphs/wot/model.py     |  0
 .../gui/{ => navigation}/graphs/wot/node.py      |  2 +-
 .../gui/{ => navigation}/graphs/wot/scene.py     |  0
 .../gui/{ => navigation}/graphs/wot/view.py      |  0
 .../gui/{ => navigation}/graphs/wot/wot_tab.ui   |  4 ++--
 .../homescreen}/__init__.py                      |  0
 .../{ => navigation}/homescreen/controller.py    |  2 +-
 .../{ => navigation}/homescreen/homescreen.ui    |  0
 .../gui/{ => navigation}/homescreen/model.py     |  0
 .../gui/{ => navigation}/homescreen/view.py      |  0
 .../identities}/__init__.py                      |  0
 .../{ => navigation}/identities/controller.py    |  4 ++--
 .../{ => navigation}/identities/identities.ui    |  0
 .../gui/{ => navigation}/identities/model.py     |  2 +-
 .../{ => navigation}/identities/table_model.py   |  0
 .../gui/{ => navigation}/identities/view.py      |  0
 .../informations}/__init__.py                    |  0
 .../{ => navigation}/informations/controller.py  |  2 +-
 .../informations/informations.ui                 |  0
 .../gui/{ => navigation}/informations/model.py   |  2 +-
 .../gui/{ => navigation}/informations/view.py    |  0
 src/sakia/gui/navigation/model.py                |  2 +-
 .../network}/__init__.py                         |  0
 .../gui/{ => navigation}/network/controller.py   |  2 +-
 src/sakia/gui/{ => navigation}/network/model.py  |  2 +-
 .../gui/{ => navigation}/network/network.ui      |  0
 .../gui/{ => navigation}/network/table_model.py  |  0
 src/sakia/gui/{ => navigation}/network/view.py   |  0
 .../txhistory}/__init__.py                       |  0
 .../gui/{ => navigation}/txhistory/controller.py |  8 ++++----
 .../gui/{ => navigation}/txhistory/model.py      |  0
 .../{ => navigation}/txhistory/table_model.py    |  8 ++++----
 .../gui/{ => navigation}/txhistory/txhistory.ui  |  0
 src/sakia/gui/{ => navigation}/txhistory/view.py |  0
 src/sakia/gui/navigation/view.py                 |  2 +-
 src/sakia/gui/sub/__init__.py                    |  0
 .../gui/{ => sub}/search_user/controller.py      |  4 ++--
 src/sakia/gui/{ => sub}/search_user/model.py     |  2 +-
 .../gui/{ => sub}/search_user/search_user.ui     |  0
 src/sakia/gui/{ => sub}/search_user/view.py      |  0
 src/sakia/gui/sub/user_information/__init__.py   |  0
 .../gui/{ => sub}/user_information/controller.py |  2 +-
 .../gui/{ => sub}/user_information/model.py      |  0
 .../user_information/user_information.ui         |  0
 src/sakia/gui/{ => sub}/user_information/view.py |  2 +-
 src/sakia/gui/widgets/context_menu.py            | 16 ++++++++--------
 92 files changed, 76 insertions(+), 76 deletions(-)
 rename src/sakia/gui/{certification => dialogs}/__init__.py (100%)
 rename src/sakia/gui/{graphs => dialogs/certification}/__init__.py (100%)
 rename src/sakia/gui/{ => dialogs}/certification/certification.ui (100%)
 rename src/sakia/gui/{ => dialogs}/certification/controller.py (96%)
 rename src/sakia/gui/{ => dialogs}/certification/model.py (98%)
 rename src/sakia/gui/{ => dialogs}/certification/view.py (98%)
 rename src/sakia/gui/{graphs/base => dialogs/transfer}/__init__.py (100%)
 rename src/sakia/gui/{ => dialogs}/transfer/controller.py (97%)
 rename src/sakia/gui/{ => dialogs}/transfer/model.py (100%)
 rename src/sakia/gui/{ => dialogs}/transfer/transfer.py (100%)
 rename src/sakia/gui/{ => dialogs}/transfer/transfer.ui (100%)
 rename src/sakia/gui/{ => dialogs}/transfer/view.py (98%)
 rename src/sakia/gui/{graphs/explorer => main_window/status_bar}/__init__.py (100%)
 rename src/sakia/gui/{ => main_window}/status_bar/controller.py (97%)
 rename src/sakia/gui/{ => main_window}/status_bar/model.py (100%)
 rename src/sakia/gui/{ => main_window}/status_bar/view.py (100%)
 rename src/sakia/gui/{graphs/wot => main_window/toolbar}/__init__.py (100%)
 rename src/sakia/gui/{ => main_window}/toolbar/controller.py (95%)
 rename src/sakia/gui/{ => main_window}/toolbar/model.py (100%)
 rename src/sakia/gui/{ => main_window}/toolbar/toolbar.ui (100%)
 rename src/sakia/gui/{ => main_window}/toolbar/view.py (100%)
 rename src/sakia/gui/{homescreen => navigation/graphs}/__init__.py (100%)
 rename src/sakia/gui/{identities => navigation/graphs/base}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/base/controller.py (95%)
 rename src/sakia/gui/{ => navigation}/graphs/base/edge.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/base/graph_tab.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/base/model.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/base/node.py (97%)
 rename src/sakia/gui/{ => navigation}/graphs/base/scene.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/base/view.py (100%)
 rename src/sakia/gui/{informations => navigation/graphs/explorer}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/controller.py (97%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/edge.py (99%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/explorer.ui (93%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/graphics_view.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/model.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/node.py (99%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/scene.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/explorer/view.py (100%)
 rename src/sakia/gui/{network => navigation/graphs/wot}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/controller.py (97%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/edge.py (98%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/graphics_view.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/model.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/node.py (97%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/scene.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/view.py (100%)
 rename src/sakia/gui/{ => navigation}/graphs/wot/wot_tab.ui (87%)
 rename src/sakia/gui/{status_bar => navigation/homescreen}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/homescreen/controller.py (94%)
 rename src/sakia/gui/{ => navigation}/homescreen/homescreen.ui (100%)
 rename src/sakia/gui/{ => navigation}/homescreen/model.py (100%)
 rename src/sakia/gui/{ => navigation}/homescreen/view.py (100%)
 rename src/sakia/gui/{toolbar => navigation/identities}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/identities/controller.py (97%)
 rename src/sakia/gui/{ => navigation}/identities/identities.ui (100%)
 rename src/sakia/gui/{ => navigation}/identities/model.py (97%)
 rename src/sakia/gui/{ => navigation}/identities/table_model.py (100%)
 rename src/sakia/gui/{ => navigation}/identities/view.py (100%)
 rename src/sakia/gui/{transfer => navigation/informations}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/informations/controller.py (97%)
 rename src/sakia/gui/{ => navigation}/informations/informations.ui (100%)
 rename src/sakia/gui/{ => navigation}/informations/model.py (99%)
 rename src/sakia/gui/{ => navigation}/informations/view.py (100%)
 rename src/sakia/gui/{txhistory => navigation/network}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/network/controller.py (97%)
 rename src/sakia/gui/{ => navigation}/network/model.py (97%)
 rename src/sakia/gui/{ => navigation}/network/network.ui (100%)
 rename src/sakia/gui/{ => navigation}/network/table_model.py (100%)
 rename src/sakia/gui/{ => navigation}/network/view.py (100%)
 rename src/sakia/gui/{user_information => navigation/txhistory}/__init__.py (100%)
 rename src/sakia/gui/{ => navigation}/txhistory/controller.py (94%)
 rename src/sakia/gui/{ => navigation}/txhistory/model.py (100%)
 rename src/sakia/gui/{ => navigation}/txhistory/table_model.py (98%)
 rename src/sakia/gui/{ => navigation}/txhistory/txhistory.ui (100%)
 rename src/sakia/gui/{ => navigation}/txhistory/view.py (100%)
 create mode 100644 src/sakia/gui/sub/__init__.py
 rename src/sakia/gui/{ => sub}/search_user/controller.py (95%)
 rename src/sakia/gui/{ => sub}/search_user/model.py (97%)
 rename src/sakia/gui/{ => sub}/search_user/search_user.ui (100%)
 rename src/sakia/gui/{ => sub}/search_user/view.py (100%)
 create mode 100644 src/sakia/gui/sub/user_information/__init__.py
 rename src/sakia/gui/{ => sub}/user_information/controller.py (98%)
 rename src/sakia/gui/{ => sub}/user_information/model.py (100%)
 rename src/sakia/gui/{ => sub}/user_information/user_information.ui (100%)
 rename src/sakia/gui/{ => sub}/user_information/view.py (98%)

diff --git a/requirements.txt b/requirements.txt
index 145df061..d1868e55 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,5 @@
 duniterpy>=0.20.dev0
 git+https://github.com/Insoleet/quamash.git@master
 asynctest
-networkx
\ No newline at end of file
+networkx
+attr
\ No newline at end of file
diff --git a/src/sakia/gui/certification/__init__.py b/src/sakia/gui/dialogs/__init__.py
similarity index 100%
rename from src/sakia/gui/certification/__init__.py
rename to src/sakia/gui/dialogs/__init__.py
diff --git a/src/sakia/gui/graphs/__init__.py b/src/sakia/gui/dialogs/certification/__init__.py
similarity index 100%
rename from src/sakia/gui/graphs/__init__.py
rename to src/sakia/gui/dialogs/certification/__init__.py
diff --git a/src/sakia/gui/certification/certification.ui b/src/sakia/gui/dialogs/certification/certification.ui
similarity index 100%
rename from src/sakia/gui/certification/certification.ui
rename to src/sakia/gui/dialogs/certification/certification.ui
diff --git a/src/sakia/gui/certification/controller.py b/src/sakia/gui/dialogs/certification/controller.py
similarity index 96%
rename from src/sakia/gui/certification/controller.py
rename to src/sakia/gui/dialogs/certification/controller.py
index 94aef99d..b6d8b6ef 100644
--- a/src/sakia/gui/certification/controller.py
+++ b/src/sakia/gui/dialogs/certification/controller.py
@@ -1,11 +1,11 @@
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .view import CertificationView
 from .model import CertificationModel
-from ..search_user.controller import SearchUserController
-from ..user_information.controller import UserInformationController
+from sakia.gui.sub.search_user.controller import SearchUserController
+from sakia.gui.sub.user_information.controller import UserInformationController
 from PyQt5.QtWidgets import QApplication
 from PyQt5.QtCore import Qt
-from ...tools.decorators import asyncify, once_at_a_time
+from sakia.tools.decorators import asyncify, once_at_a_time
 import asyncio
 
 
diff --git a/src/sakia/gui/certification/model.py b/src/sakia/gui/dialogs/certification/model.py
similarity index 98%
rename from src/sakia/gui/certification/model.py
rename to src/sakia/gui/dialogs/certification/model.py
index 94ac1aba..7442b827 100644
--- a/src/sakia/gui/certification/model.py
+++ b/src/sakia/gui/dialogs/certification/model.py
@@ -1,4 +1,4 @@
-from ..component.model import ComponentModel
+from sakia.gui.component.model import ComponentModel
 from duniterpy.api import errors
 from sakia.tools.exceptions import NoPeerAvailable
 
diff --git a/src/sakia/gui/certification/view.py b/src/sakia/gui/dialogs/certification/view.py
similarity index 98%
rename from src/sakia/gui/certification/view.py
rename to src/sakia/gui/dialogs/certification/view.py
index 98df7184..992f9331 100644
--- a/src/sakia/gui/certification/view.py
+++ b/src/sakia/gui/dialogs/certification/view.py
@@ -1,8 +1,8 @@
 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QMessageBox
 from PyQt5.QtCore import QT_TRANSLATE_NOOP, pyqtSignal
 from .certification_uic import Ui_CertificationDialog
-from ..widgets import toast
-from ..widgets.dialogs import QAsyncMessageBox
+from sakia.gui.widgets import toast
+from sakia.gui.widgets.dialogs import QAsyncMessageBox
 from enum import Enum
 
 
diff --git a/src/sakia/gui/graphs/base/__init__.py b/src/sakia/gui/dialogs/transfer/__init__.py
similarity index 100%
rename from src/sakia/gui/graphs/base/__init__.py
rename to src/sakia/gui/dialogs/transfer/__init__.py
diff --git a/src/sakia/gui/transfer/controller.py b/src/sakia/gui/dialogs/transfer/controller.py
similarity index 97%
rename from src/sakia/gui/transfer/controller.py
rename to src/sakia/gui/dialogs/transfer/controller.py
index 33fc5660..e9cf85c0 100644
--- a/src/sakia/gui/transfer/controller.py
+++ b/src/sakia/gui/dialogs/transfer/controller.py
@@ -1,6 +1,6 @@
-from ..component.controller import ComponentController
-from ..search_user.controller import SearchUserController
-from ..user_information.controller import UserInformationController
+from sakia.gui.component.controller import ComponentController
+from sakia.gui.sub.search_user.controller import SearchUserController
+from sakia.gui.sub.user_information.controller import UserInformationController
 from .view import TransferView
 from .model import TransferModel
 from sakia.tools.decorators import asyncify
diff --git a/src/sakia/gui/transfer/model.py b/src/sakia/gui/dialogs/transfer/model.py
similarity index 100%
rename from src/sakia/gui/transfer/model.py
rename to src/sakia/gui/dialogs/transfer/model.py
diff --git a/src/sakia/gui/transfer/transfer.py b/src/sakia/gui/dialogs/transfer/transfer.py
similarity index 100%
rename from src/sakia/gui/transfer/transfer.py
rename to src/sakia/gui/dialogs/transfer/transfer.py
diff --git a/src/sakia/gui/transfer/transfer.ui b/src/sakia/gui/dialogs/transfer/transfer.ui
similarity index 100%
rename from src/sakia/gui/transfer/transfer.ui
rename to src/sakia/gui/dialogs/transfer/transfer.ui
diff --git a/src/sakia/gui/transfer/view.py b/src/sakia/gui/dialogs/transfer/view.py
similarity index 98%
rename from src/sakia/gui/transfer/view.py
rename to src/sakia/gui/dialogs/transfer/view.py
index 327731a1..c44be0ea 100644
--- a/src/sakia/gui/transfer/view.py
+++ b/src/sakia/gui/dialogs/transfer/view.py
@@ -3,8 +3,8 @@ from PyQt5.QtGui import QRegExpValidator
 from PyQt5.QtCore import QT_TRANSLATE_NOOP, QRegExp
 from .transfer_uic import Ui_TransferMoneyDialog
 from enum import Enum
-from ..widgets import toast
-from ..widgets.dialogs import QAsyncMessageBox
+from sakia.gui.widgets import toast
+from sakia.gui.widgets.dialogs import QAsyncMessageBox
 
 
 class TransferView(QDialog, Ui_TransferMoneyDialog):
diff --git a/src/sakia/gui/main_window/controller.py b/src/sakia/gui/main_window/controller.py
index b29a7b23..e9b250c9 100644
--- a/src/sakia/gui/main_window/controller.py
+++ b/src/sakia/gui/main_window/controller.py
@@ -14,13 +14,12 @@ from PyQt5.QtGui import QIcon
 from ..password_asker import PasswordAskerDialog
 from ...__init__ import __version__
 from ..widgets import toast
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .view import MainWindowView
 from .model import MainWindowModel
-from ..status_bar.controller import StatusBarController
-from ..toolbar.controller import ToolbarController
+from .status_bar.controller import StatusBarController
+from .toolbar.controller import ToolbarController
 from ..navigation.controller import NavigationController
-from ..txhistory.controller import TxHistoryController
 
 
 class MainWindowController(ComponentController):
diff --git a/src/sakia/gui/graphs/explorer/__init__.py b/src/sakia/gui/main_window/status_bar/__init__.py
similarity index 100%
rename from src/sakia/gui/graphs/explorer/__init__.py
rename to src/sakia/gui/main_window/status_bar/__init__.py
diff --git a/src/sakia/gui/status_bar/controller.py b/src/sakia/gui/main_window/status_bar/controller.py
similarity index 97%
rename from src/sakia/gui/status_bar/controller.py
rename to src/sakia/gui/main_window/status_bar/controller.py
index 3b38490b..c5351ba4 100644
--- a/src/sakia/gui/status_bar/controller.py
+++ b/src/sakia/gui/main_window/status_bar/controller.py
@@ -1,5 +1,5 @@
 from PyQt5.QtCore import QLocale, pyqtSlot, QDateTime, QTimer
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .model import StatusBarModel
 from .view import StatusBarView
 import logging
diff --git a/src/sakia/gui/status_bar/model.py b/src/sakia/gui/main_window/status_bar/model.py
similarity index 100%
rename from src/sakia/gui/status_bar/model.py
rename to src/sakia/gui/main_window/status_bar/model.py
diff --git a/src/sakia/gui/status_bar/view.py b/src/sakia/gui/main_window/status_bar/view.py
similarity index 100%
rename from src/sakia/gui/status_bar/view.py
rename to src/sakia/gui/main_window/status_bar/view.py
diff --git a/src/sakia/gui/graphs/wot/__init__.py b/src/sakia/gui/main_window/toolbar/__init__.py
similarity index 100%
rename from src/sakia/gui/graphs/wot/__init__.py
rename to src/sakia/gui/main_window/toolbar/__init__.py
diff --git a/src/sakia/gui/toolbar/controller.py b/src/sakia/gui/main_window/toolbar/controller.py
similarity index 95%
rename from src/sakia/gui/toolbar/controller.py
rename to src/sakia/gui/main_window/toolbar/controller.py
index c44950b0..ee5729b9 100644
--- a/src/sakia/gui/toolbar/controller.py
+++ b/src/sakia/gui/main_window/toolbar/controller.py
@@ -1,13 +1,13 @@
 from PyQt5.QtWidgets import QDialog, QMessageBox
 from PyQt5.QtCore import QT_TRANSLATE_NOOP, Qt
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .model import ToolbarModel
 from .view import ToolbarView
-from ...tools.decorators import asyncify, once_at_a_time, cancel_once_task
-from ..widgets.dialogs import QAsyncMessageBox, QAsyncFileDialog, dialog_async_exec
-from ..widgets import toast
-from ..certification.controller import CertificationController
-from ..transfer.controller import TransferController
+from sakia.tools.decorators import asyncify, once_at_a_time, cancel_once_task
+from sakia.gui.widgets.dialogs import QAsyncMessageBox, QAsyncFileDialog, dialog_async_exec
+from sakia.gui.widgets import toast
+from sakia.gui.dialogs.certification.controller import CertificationController
+from sakia.gui.dialogs.transfer.controller import TransferController
 import logging
 
 
diff --git a/src/sakia/gui/toolbar/model.py b/src/sakia/gui/main_window/toolbar/model.py
similarity index 100%
rename from src/sakia/gui/toolbar/model.py
rename to src/sakia/gui/main_window/toolbar/model.py
diff --git a/src/sakia/gui/toolbar/toolbar.ui b/src/sakia/gui/main_window/toolbar/toolbar.ui
similarity index 100%
rename from src/sakia/gui/toolbar/toolbar.ui
rename to src/sakia/gui/main_window/toolbar/toolbar.ui
diff --git a/src/sakia/gui/toolbar/view.py b/src/sakia/gui/main_window/toolbar/view.py
similarity index 100%
rename from src/sakia/gui/toolbar/view.py
rename to src/sakia/gui/main_window/toolbar/view.py
diff --git a/src/sakia/gui/navigation/controller.py b/src/sakia/gui/navigation/controller.py
index 568f049a..3d3b4aca 100644
--- a/src/sakia/gui/navigation/controller.py
+++ b/src/sakia/gui/navigation/controller.py
@@ -1,13 +1,13 @@
 from .model import NavigationModel
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .view import NavigationView
-from ..txhistory.controller import TxHistoryController
-from ..homescreen.controller import HomeScreenController
-from ..network.controller import NetworkController
-from ..identities.controller import IdentitiesController
-from ..informations.controller import InformationsController
-from ..graphs.wot.controller import WotController
-from ..graphs.explorer.controller import ExplorerController
+from .txhistory.controller import TxHistoryController
+from .homescreen.controller import HomeScreenController
+from .network.controller import NetworkController
+from .identities.controller import IdentitiesController
+from .informations.controller import InformationsController
+from .graphs.wot.controller import WotController
+from .graphs.explorer.controller import ExplorerController
 from sakia.core import Account, Community
 from PyQt5.QtCore import pyqtSignal
 
diff --git a/src/sakia/gui/homescreen/__init__.py b/src/sakia/gui/navigation/graphs/__init__.py
similarity index 100%
rename from src/sakia/gui/homescreen/__init__.py
rename to src/sakia/gui/navigation/graphs/__init__.py
diff --git a/src/sakia/gui/identities/__init__.py b/src/sakia/gui/navigation/graphs/base/__init__.py
similarity index 100%
rename from src/sakia/gui/identities/__init__.py
rename to src/sakia/gui/navigation/graphs/base/__init__.py
diff --git a/src/sakia/gui/graphs/base/controller.py b/src/sakia/gui/navigation/graphs/base/controller.py
similarity index 95%
rename from src/sakia/gui/graphs/base/controller.py
rename to src/sakia/gui/navigation/graphs/base/controller.py
index a022ed89..45e547cc 100644
--- a/src/sakia/gui/graphs/base/controller.py
+++ b/src/sakia/gui/navigation/graphs/base/controller.py
@@ -1,8 +1,8 @@
-from ...component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from PyQt5.QtCore import pyqtSlot
 from PyQt5.QtGui import QCursor
 from sakia.tools.decorators import asyncify, once_at_a_time
-from ...widgets.context_menu import ContextMenu
+from sakia.gui.widgets.context_menu import ContextMenu
 import asyncio
 
 
diff --git a/src/sakia/gui/graphs/base/edge.py b/src/sakia/gui/navigation/graphs/base/edge.py
similarity index 100%
rename from src/sakia/gui/graphs/base/edge.py
rename to src/sakia/gui/navigation/graphs/base/edge.py
diff --git a/src/sakia/gui/graphs/base/graph_tab.py b/src/sakia/gui/navigation/graphs/base/graph_tab.py
similarity index 100%
rename from src/sakia/gui/graphs/base/graph_tab.py
rename to src/sakia/gui/navigation/graphs/base/graph_tab.py
diff --git a/src/sakia/gui/graphs/base/model.py b/src/sakia/gui/navigation/graphs/base/model.py
similarity index 100%
rename from src/sakia/gui/graphs/base/model.py
rename to src/sakia/gui/navigation/graphs/base/model.py
diff --git a/src/sakia/gui/graphs/base/node.py b/src/sakia/gui/navigation/graphs/base/node.py
similarity index 97%
rename from src/sakia/gui/graphs/base/node.py
rename to src/sakia/gui/navigation/graphs/base/node.py
index 8c1d3c39..332a859d 100644
--- a/src/sakia/gui/graphs/base/node.py
+++ b/src/sakia/gui/navigation/graphs/base/node.py
@@ -2,7 +2,7 @@ from PyQt5.QtWidgets import QGraphicsEllipseItem, QGraphicsSceneHoverEvent, \
     QGraphicsSceneContextMenuEvent
 from PyQt5.QtCore import Qt
 from PyQt5.QtGui import QMouseEvent
-from ....core.graph.constants import NodeStatus
+from sakia.core.graph.constants import NodeStatus
 
 
 class BaseNode(QGraphicsEllipseItem):
diff --git a/src/sakia/gui/graphs/base/scene.py b/src/sakia/gui/navigation/graphs/base/scene.py
similarity index 100%
rename from src/sakia/gui/graphs/base/scene.py
rename to src/sakia/gui/navigation/graphs/base/scene.py
diff --git a/src/sakia/gui/graphs/base/view.py b/src/sakia/gui/navigation/graphs/base/view.py
similarity index 100%
rename from src/sakia/gui/graphs/base/view.py
rename to src/sakia/gui/navigation/graphs/base/view.py
diff --git a/src/sakia/gui/informations/__init__.py b/src/sakia/gui/navigation/graphs/explorer/__init__.py
similarity index 100%
rename from src/sakia/gui/informations/__init__.py
rename to src/sakia/gui/navigation/graphs/explorer/__init__.py
diff --git a/src/sakia/gui/graphs/explorer/controller.py b/src/sakia/gui/navigation/graphs/explorer/controller.py
similarity index 97%
rename from src/sakia/gui/graphs/explorer/controller.py
rename to src/sakia/gui/navigation/graphs/explorer/controller.py
index 66796c78..9445148d 100644
--- a/src/sakia/gui/graphs/explorer/controller.py
+++ b/src/sakia/gui/navigation/graphs/explorer/controller.py
@@ -2,7 +2,7 @@ from ..base.controller import BaseGraphController
 from sakia.tools.decorators import asyncify, once_at_a_time
 from .view import ExplorerView
 from .model import ExplorerModel
-from ...search_user.controller import SearchUserController
+from sakia.gui.sub.search_user.controller import SearchUserController
 import asyncio
 
 
diff --git a/src/sakia/gui/graphs/explorer/edge.py b/src/sakia/gui/navigation/graphs/explorer/edge.py
similarity index 99%
rename from src/sakia/gui/graphs/explorer/edge.py
rename to src/sakia/gui/navigation/graphs/explorer/edge.py
index 93584049..0af1f027 100644
--- a/src/sakia/gui/graphs/explorer/edge.py
+++ b/src/sakia/gui/navigation/graphs/explorer/edge.py
@@ -3,7 +3,7 @@ from PyQt5.QtCore import Qt, QRectF, QLineF, QPointF, QSizeF, \
 from PyQt5.QtGui import QColor, QPen, QPolygonF
 import math
 from ..base.edge import BaseEdge
-from ....core.graph.constants import EdgeStatus
+from sakia.core.graph.constants import EdgeStatus
 
 
 class ExplorerEdge(BaseEdge):
diff --git a/src/sakia/gui/graphs/explorer/explorer.ui b/src/sakia/gui/navigation/graphs/explorer/explorer.ui
similarity index 93%
rename from src/sakia/gui/graphs/explorer/explorer.ui
rename to src/sakia/gui/navigation/graphs/explorer/explorer.ui
index b7609502..c8ccca83 100644
--- a/src/sakia/gui/graphs/explorer/explorer.ui
+++ b/src/sakia/gui/navigation/graphs/explorer/explorer.ui
@@ -71,11 +71,11 @@
   <customwidget>
    <class>ExplorerGraphicsView</class>
    <extends>QGraphicsView</extends>
-   <header>sakia.gui.graphs.explorer.graphics_view</header>
+   <header>sakia.gui.navigation.graphs.explorer.graphics_view</header>
   </customwidget>
  </customwidgets>
  <resources>
-  <include location="../../../../../res/icons/icons.qrc"/>
+  <include location="../../../../../../res/icons/icons.qrc"/>
  </resources>
  <connections/>
  <slots>
diff --git a/src/sakia/gui/graphs/explorer/graphics_view.py b/src/sakia/gui/navigation/graphs/explorer/graphics_view.py
similarity index 100%
rename from src/sakia/gui/graphs/explorer/graphics_view.py
rename to src/sakia/gui/navigation/graphs/explorer/graphics_view.py
diff --git a/src/sakia/gui/graphs/explorer/model.py b/src/sakia/gui/navigation/graphs/explorer/model.py
similarity index 100%
rename from src/sakia/gui/graphs/explorer/model.py
rename to src/sakia/gui/navigation/graphs/explorer/model.py
diff --git a/src/sakia/gui/graphs/explorer/node.py b/src/sakia/gui/navigation/graphs/explorer/node.py
similarity index 99%
rename from src/sakia/gui/graphs/explorer/node.py
rename to src/sakia/gui/navigation/graphs/explorer/node.py
index 1be84d23..58b578de 100644
--- a/src/sakia/gui/graphs/explorer/node.py
+++ b/src/sakia/gui/navigation/graphs/explorer/node.py
@@ -1,7 +1,7 @@
 from PyQt5.QtWidgets import QGraphicsSimpleTextItem
 from PyQt5.QtCore import Qt, QPointF, QTimeLine, QTimer
 from PyQt5.QtGui import QTransform, QColor, QPen, QBrush, QRadialGradient
-from ....core.graph.constants import NodeStatus
+from sakia.core.graph.constants import NodeStatus
 from ..base.node import BaseNode
 import math
 
diff --git a/src/sakia/gui/graphs/explorer/scene.py b/src/sakia/gui/navigation/graphs/explorer/scene.py
similarity index 100%
rename from src/sakia/gui/graphs/explorer/scene.py
rename to src/sakia/gui/navigation/graphs/explorer/scene.py
diff --git a/src/sakia/gui/graphs/explorer/view.py b/src/sakia/gui/navigation/graphs/explorer/view.py
similarity index 100%
rename from src/sakia/gui/graphs/explorer/view.py
rename to src/sakia/gui/navigation/graphs/explorer/view.py
diff --git a/src/sakia/gui/network/__init__.py b/src/sakia/gui/navigation/graphs/wot/__init__.py
similarity index 100%
rename from src/sakia/gui/network/__init__.py
rename to src/sakia/gui/navigation/graphs/wot/__init__.py
diff --git a/src/sakia/gui/graphs/wot/controller.py b/src/sakia/gui/navigation/graphs/wot/controller.py
similarity index 97%
rename from src/sakia/gui/graphs/wot/controller.py
rename to src/sakia/gui/navigation/graphs/wot/controller.py
index 9cebbaf1..bd6cdc3f 100644
--- a/src/sakia/gui/graphs/wot/controller.py
+++ b/src/sakia/gui/navigation/graphs/wot/controller.py
@@ -2,7 +2,7 @@ from ..base.controller import BaseGraphController
 from sakia.tools.decorators import asyncify, once_at_a_time
 from .view import WotView
 from .model import WotModel
-from ...search_user.controller import SearchUserController
+from sakia.gui.sub.search_user.controller import SearchUserController
 import asyncio
 
 
diff --git a/src/sakia/gui/graphs/wot/edge.py b/src/sakia/gui/navigation/graphs/wot/edge.py
similarity index 98%
rename from src/sakia/gui/graphs/wot/edge.py
rename to src/sakia/gui/navigation/graphs/wot/edge.py
index 3af111bb..04f31d5c 100644
--- a/src/sakia/gui/graphs/wot/edge.py
+++ b/src/sakia/gui/navigation/graphs/wot/edge.py
@@ -3,7 +3,7 @@ from PyQt5.QtCore import Qt, QRectF, QLineF, QPointF, QSizeF, \
 from PyQt5.QtGui import QColor, QPen, QPolygonF
 import math
 from ..base.edge import BaseEdge
-from ....core.graph.constants import EdgeStatus
+from sakia.core.graph.constants import EdgeStatus
 
 
 class WotEdge(BaseEdge):
diff --git a/src/sakia/gui/graphs/wot/graphics_view.py b/src/sakia/gui/navigation/graphs/wot/graphics_view.py
similarity index 100%
rename from src/sakia/gui/graphs/wot/graphics_view.py
rename to src/sakia/gui/navigation/graphs/wot/graphics_view.py
diff --git a/src/sakia/gui/graphs/wot/model.py b/src/sakia/gui/navigation/graphs/wot/model.py
similarity index 100%
rename from src/sakia/gui/graphs/wot/model.py
rename to src/sakia/gui/navigation/graphs/wot/model.py
diff --git a/src/sakia/gui/graphs/wot/node.py b/src/sakia/gui/navigation/graphs/wot/node.py
similarity index 97%
rename from src/sakia/gui/graphs/wot/node.py
rename to src/sakia/gui/navigation/graphs/wot/node.py
index 53278ed4..51a673a9 100644
--- a/src/sakia/gui/graphs/wot/node.py
+++ b/src/sakia/gui/navigation/graphs/wot/node.py
@@ -1,7 +1,7 @@
 from PyQt5.QtWidgets import QGraphicsSimpleTextItem
 from PyQt5.QtCore import Qt, QPointF
 from PyQt5.QtGui import QTransform, QColor, QPen, QBrush, QRadialGradient
-from ....core.graph.constants import NodeStatus
+from sakia.core.graph.constants import NodeStatus
 from ..base.node import BaseNode
 
 
diff --git a/src/sakia/gui/graphs/wot/scene.py b/src/sakia/gui/navigation/graphs/wot/scene.py
similarity index 100%
rename from src/sakia/gui/graphs/wot/scene.py
rename to src/sakia/gui/navigation/graphs/wot/scene.py
diff --git a/src/sakia/gui/graphs/wot/view.py b/src/sakia/gui/navigation/graphs/wot/view.py
similarity index 100%
rename from src/sakia/gui/graphs/wot/view.py
rename to src/sakia/gui/navigation/graphs/wot/view.py
diff --git a/src/sakia/gui/graphs/wot/wot_tab.ui b/src/sakia/gui/navigation/graphs/wot/wot_tab.ui
similarity index 87%
rename from src/sakia/gui/graphs/wot/wot_tab.ui
rename to src/sakia/gui/navigation/graphs/wot/wot_tab.ui
index c54c8b61..7bddf7cb 100644
--- a/src/sakia/gui/graphs/wot/wot_tab.ui
+++ b/src/sakia/gui/navigation/graphs/wot/wot_tab.ui
@@ -27,11 +27,11 @@
   <customwidget>
    <class>WotGraphicsView</class>
    <extends>QGraphicsView</extends>
-   <header>sakia.gui.graphs.wot.graphics_view</header>
+   <header>sakia.gui.navigation.graphs.wot.graphics_view</header>
   </customwidget>
  </customwidgets>
  <resources>
-  <include location="../../../../../res/icons/icons.qrc"/>
+  <include location="../../../../../../res/icons/icons.qrc"/>
  </resources>
  <connections/>
  <slots>
diff --git a/src/sakia/gui/status_bar/__init__.py b/src/sakia/gui/navigation/homescreen/__init__.py
similarity index 100%
rename from src/sakia/gui/status_bar/__init__.py
rename to src/sakia/gui/navigation/homescreen/__init__.py
diff --git a/src/sakia/gui/homescreen/controller.py b/src/sakia/gui/navigation/homescreen/controller.py
similarity index 94%
rename from src/sakia/gui/homescreen/controller.py
rename to src/sakia/gui/navigation/homescreen/controller.py
index 3a63a3a9..796878ca 100644
--- a/src/sakia/gui/homescreen/controller.py
+++ b/src/sakia/gui/navigation/homescreen/controller.py
@@ -1,4 +1,4 @@
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .view import HomeScreenView
 from .model import HomeScreenModel
 
diff --git a/src/sakia/gui/homescreen/homescreen.ui b/src/sakia/gui/navigation/homescreen/homescreen.ui
similarity index 100%
rename from src/sakia/gui/homescreen/homescreen.ui
rename to src/sakia/gui/navigation/homescreen/homescreen.ui
diff --git a/src/sakia/gui/homescreen/model.py b/src/sakia/gui/navigation/homescreen/model.py
similarity index 100%
rename from src/sakia/gui/homescreen/model.py
rename to src/sakia/gui/navigation/homescreen/model.py
diff --git a/src/sakia/gui/homescreen/view.py b/src/sakia/gui/navigation/homescreen/view.py
similarity index 100%
rename from src/sakia/gui/homescreen/view.py
rename to src/sakia/gui/navigation/homescreen/view.py
diff --git a/src/sakia/gui/toolbar/__init__.py b/src/sakia/gui/navigation/identities/__init__.py
similarity index 100%
rename from src/sakia/gui/toolbar/__init__.py
rename to src/sakia/gui/navigation/identities/__init__.py
diff --git a/src/sakia/gui/identities/controller.py b/src/sakia/gui/navigation/identities/controller.py
similarity index 97%
rename from src/sakia/gui/identities/controller.py
rename to src/sakia/gui/navigation/identities/controller.py
index 99af1567..7722bfbb 100644
--- a/src/sakia/gui/identities/controller.py
+++ b/src/sakia/gui/navigation/identities/controller.py
@@ -1,8 +1,8 @@
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .model import IdentitiesModel
 from .view import IdentitiesView
 from sakia.tools.decorators import once_at_a_time, asyncify
-from ..widgets.context_menu import ContextMenu
+from sakia.gui.widgets.context_menu import ContextMenu
 from PyQt5.QtGui import QCursor
 from sakia.core.registry import Identity, BlockchainState
 from duniterpy.documents.block import BlockUID
diff --git a/src/sakia/gui/identities/identities.ui b/src/sakia/gui/navigation/identities/identities.ui
similarity index 100%
rename from src/sakia/gui/identities/identities.ui
rename to src/sakia/gui/navigation/identities/identities.ui
diff --git a/src/sakia/gui/identities/model.py b/src/sakia/gui/navigation/identities/model.py
similarity index 97%
rename from src/sakia/gui/identities/model.py
rename to src/sakia/gui/navigation/identities/model.py
index 9c41c995..c2737855 100644
--- a/src/sakia/gui/identities/model.py
+++ b/src/sakia/gui/navigation/identities/model.py
@@ -1,5 +1,5 @@
 from PyQt5.QtCore import Qt
-from ..component.model import ComponentModel
+from sakia.gui.component.model import ComponentModel
 from .table_model import IdentitiesFilterProxyModel, IdentitiesTableModel
 
 
diff --git a/src/sakia/gui/identities/table_model.py b/src/sakia/gui/navigation/identities/table_model.py
similarity index 100%
rename from src/sakia/gui/identities/table_model.py
rename to src/sakia/gui/navigation/identities/table_model.py
diff --git a/src/sakia/gui/identities/view.py b/src/sakia/gui/navigation/identities/view.py
similarity index 100%
rename from src/sakia/gui/identities/view.py
rename to src/sakia/gui/navigation/identities/view.py
diff --git a/src/sakia/gui/transfer/__init__.py b/src/sakia/gui/navigation/informations/__init__.py
similarity index 100%
rename from src/sakia/gui/transfer/__init__.py
rename to src/sakia/gui/navigation/informations/__init__.py
diff --git a/src/sakia/gui/informations/controller.py b/src/sakia/gui/navigation/informations/controller.py
similarity index 97%
rename from src/sakia/gui/informations/controller.py
rename to src/sakia/gui/navigation/informations/controller.py
index ee56073a..206c7246 100644
--- a/src/sakia/gui/informations/controller.py
+++ b/src/sakia/gui/navigation/informations/controller.py
@@ -1,4 +1,4 @@
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .model import InformationsModel
 from .view import InformationsView
 from sakia.tools.decorators import asyncify
diff --git a/src/sakia/gui/informations/informations.ui b/src/sakia/gui/navigation/informations/informations.ui
similarity index 100%
rename from src/sakia/gui/informations/informations.ui
rename to src/sakia/gui/navigation/informations/informations.ui
diff --git a/src/sakia/gui/informations/model.py b/src/sakia/gui/navigation/informations/model.py
similarity index 99%
rename from src/sakia/gui/informations/model.py
rename to src/sakia/gui/navigation/informations/model.py
index 94b930fd..f7272c1d 100644
--- a/src/sakia/gui/informations/model.py
+++ b/src/sakia/gui/navigation/informations/model.py
@@ -1,4 +1,4 @@
-from ..component.model import ComponentModel
+from sakia.gui.component.model import ComponentModel
 from sakia.tools.exceptions import NoPeerAvailable
 from PyQt5.QtCore import QLocale, QDateTime, pyqtSignal
 from sakia.core.money import Referentials
diff --git a/src/sakia/gui/informations/view.py b/src/sakia/gui/navigation/informations/view.py
similarity index 100%
rename from src/sakia/gui/informations/view.py
rename to src/sakia/gui/navigation/informations/view.py
diff --git a/src/sakia/gui/navigation/model.py b/src/sakia/gui/navigation/model.py
index 8a7f49ee..9ddee1e6 100644
--- a/src/sakia/gui/navigation/model.py
+++ b/src/sakia/gui/navigation/model.py
@@ -1,4 +1,4 @@
-from ..component.model import ComponentModel
+from sakia.gui.component.model import ComponentModel
 from sakia.models.generic_tree import GenericTreeModel
 from PyQt5.QtCore import pyqtSignal
 
diff --git a/src/sakia/gui/txhistory/__init__.py b/src/sakia/gui/navigation/network/__init__.py
similarity index 100%
rename from src/sakia/gui/txhistory/__init__.py
rename to src/sakia/gui/navigation/network/__init__.py
diff --git a/src/sakia/gui/network/controller.py b/src/sakia/gui/navigation/network/controller.py
similarity index 97%
rename from src/sakia/gui/network/controller.py
rename to src/sakia/gui/navigation/network/controller.py
index 7da84978..65145dc4 100644
--- a/src/sakia/gui/network/controller.py
+++ b/src/sakia/gui/navigation/network/controller.py
@@ -1,4 +1,4 @@
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .model import NetworkModel
 from .view import NetworkView
 from PyQt5.QtWidgets import QAction, QMenu
diff --git a/src/sakia/gui/network/model.py b/src/sakia/gui/navigation/network/model.py
similarity index 97%
rename from src/sakia/gui/network/model.py
rename to src/sakia/gui/navigation/network/model.py
index f337e428..f395bfda 100644
--- a/src/sakia/gui/network/model.py
+++ b/src/sakia/gui/navigation/network/model.py
@@ -1,4 +1,4 @@
-from ..component.model import ComponentModel
+from sakia.gui.component.model import ComponentModel
 from .table_model import NetworkTableModel, NetworkFilterProxyModel
 from PyQt5.QtCore import QModelIndex, Qt
 
diff --git a/src/sakia/gui/network/network.ui b/src/sakia/gui/navigation/network/network.ui
similarity index 100%
rename from src/sakia/gui/network/network.ui
rename to src/sakia/gui/navigation/network/network.ui
diff --git a/src/sakia/gui/network/table_model.py b/src/sakia/gui/navigation/network/table_model.py
similarity index 100%
rename from src/sakia/gui/network/table_model.py
rename to src/sakia/gui/navigation/network/table_model.py
diff --git a/src/sakia/gui/network/view.py b/src/sakia/gui/navigation/network/view.py
similarity index 100%
rename from src/sakia/gui/network/view.py
rename to src/sakia/gui/navigation/network/view.py
diff --git a/src/sakia/gui/user_information/__init__.py b/src/sakia/gui/navigation/txhistory/__init__.py
similarity index 100%
rename from src/sakia/gui/user_information/__init__.py
rename to src/sakia/gui/navigation/txhistory/__init__.py
diff --git a/src/sakia/gui/txhistory/controller.py b/src/sakia/gui/navigation/txhistory/controller.py
similarity index 94%
rename from src/sakia/gui/txhistory/controller.py
rename to src/sakia/gui/navigation/txhistory/controller.py
index 8e528b16..92920fad 100644
--- a/src/sakia/gui/txhistory/controller.py
+++ b/src/sakia/gui/navigation/txhistory/controller.py
@@ -3,12 +3,12 @@ import logging
 from PyQt5.QtCore import QTime, pyqtSignal
 from PyQt5.QtGui import QCursor
 
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .view import TxHistoryView
 from .model import TxHistoryModel
-from ...tools.decorators import asyncify, once_at_a_time
-from ..widgets import toast
-from ..widgets.context_menu import ContextMenu
+from sakia.tools.decorators import asyncify, once_at_a_time
+from sakia.gui.widgets import toast
+from sakia.gui.widgets.context_menu import ContextMenu
 
 
 class TxHistoryController(ComponentController):
diff --git a/src/sakia/gui/txhistory/model.py b/src/sakia/gui/navigation/txhistory/model.py
similarity index 100%
rename from src/sakia/gui/txhistory/model.py
rename to src/sakia/gui/navigation/txhistory/model.py
diff --git a/src/sakia/gui/txhistory/table_model.py b/src/sakia/gui/navigation/txhistory/table_model.py
similarity index 98%
rename from src/sakia/gui/txhistory/table_model.py
rename to src/sakia/gui/navigation/txhistory/table_model.py
index a0cb25ce..969a7250 100644
--- a/src/sakia/gui/txhistory/table_model.py
+++ b/src/sakia/gui/navigation/txhistory/table_model.py
@@ -8,10 +8,10 @@ import datetime
 import logging
 import asyncio
 import math
-from ...core.transfer import Transfer, TransferState
-from ...core.net.network import MAX_CONFIRMATIONS
-from ...tools.exceptions import NoPeerAvailable
-from ...tools.decorators import asyncify, once_at_a_time, cancel_once_task
+from sakia.core.transfer import Transfer, TransferState
+from sakia.core.net.network import MAX_CONFIRMATIONS
+from sakia.tools.exceptions import NoPeerAvailable
+from sakia.tools.decorators import asyncify, once_at_a_time, cancel_once_task
 from PyQt5.QtCore import QAbstractTableModel, Qt, QVariant, QSortFilterProxyModel, \
     QDateTime, QLocale, QModelIndex
 
diff --git a/src/sakia/gui/txhistory/txhistory.ui b/src/sakia/gui/navigation/txhistory/txhistory.ui
similarity index 100%
rename from src/sakia/gui/txhistory/txhistory.ui
rename to src/sakia/gui/navigation/txhistory/txhistory.ui
diff --git a/src/sakia/gui/txhistory/view.py b/src/sakia/gui/navigation/txhistory/view.py
similarity index 100%
rename from src/sakia/gui/txhistory/view.py
rename to src/sakia/gui/navigation/txhistory/view.py
diff --git a/src/sakia/gui/navigation/view.py b/src/sakia/gui/navigation/view.py
index a822e992..7fa673f4 100644
--- a/src/sakia/gui/navigation/view.py
+++ b/src/sakia/gui/navigation/view.py
@@ -1,7 +1,7 @@
 from PyQt5.QtWidgets import QFrame, QSizePolicy
 from PyQt5.QtCore import pyqtSignal
 from .navigation_uic import Ui_Navigation
-from ...models.generic_tree import GenericTreeModel
+from sakia.models.generic_tree import GenericTreeModel
 
 
 class NavigationView(QFrame, Ui_Navigation):
diff --git a/src/sakia/gui/sub/__init__.py b/src/sakia/gui/sub/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/sakia/gui/search_user/controller.py b/src/sakia/gui/sub/search_user/controller.py
similarity index 95%
rename from src/sakia/gui/search_user/controller.py
rename to src/sakia/gui/sub/search_user/controller.py
index 1963b41e..7dcd7d42 100644
--- a/src/sakia/gui/search_user/controller.py
+++ b/src/sakia/gui/sub/search_user/controller.py
@@ -1,8 +1,8 @@
 from PyQt5.QtCore import pyqtSignal
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .model import SearchUserModel
 from .view import SearchUserView
-from ...tools.decorators import asyncify
+from sakia.tools.decorators import asyncify
 from sakia.core.registry import Identity
 
 
diff --git a/src/sakia/gui/search_user/model.py b/src/sakia/gui/sub/search_user/model.py
similarity index 97%
rename from src/sakia/gui/search_user/model.py
rename to src/sakia/gui/sub/search_user/model.py
index d26d5451..8887ec73 100644
--- a/src/sakia/gui/search_user/model.py
+++ b/src/sakia/gui/sub/search_user/model.py
@@ -1,5 +1,5 @@
 from sakia.core.registry import BlockchainState
-from ..component.model import ComponentModel
+from sakia.gui.component.model import ComponentModel
 from duniterpy.api import errors, bma
 from sakia.tools.exceptions import NoPeerAvailable
 
diff --git a/src/sakia/gui/search_user/search_user.ui b/src/sakia/gui/sub/search_user/search_user.ui
similarity index 100%
rename from src/sakia/gui/search_user/search_user.ui
rename to src/sakia/gui/sub/search_user/search_user.ui
diff --git a/src/sakia/gui/search_user/view.py b/src/sakia/gui/sub/search_user/view.py
similarity index 100%
rename from src/sakia/gui/search_user/view.py
rename to src/sakia/gui/sub/search_user/view.py
diff --git a/src/sakia/gui/sub/user_information/__init__.py b/src/sakia/gui/sub/user_information/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/src/sakia/gui/user_information/controller.py b/src/sakia/gui/sub/user_information/controller.py
similarity index 98%
rename from src/sakia/gui/user_information/controller.py
rename to src/sakia/gui/sub/user_information/controller.py
index a2210059..080326d6 100644
--- a/src/sakia/gui/user_information/controller.py
+++ b/src/sakia/gui/sub/user_information/controller.py
@@ -1,4 +1,4 @@
-from ..component.controller import ComponentController
+from sakia.gui.component.controller import ComponentController
 from .view import UserInformationView
 from .model import UserInformationModel
 from sakia.tools.decorators import asyncify
diff --git a/src/sakia/gui/user_information/model.py b/src/sakia/gui/sub/user_information/model.py
similarity index 100%
rename from src/sakia/gui/user_information/model.py
rename to src/sakia/gui/sub/user_information/model.py
diff --git a/src/sakia/gui/user_information/user_information.ui b/src/sakia/gui/sub/user_information/user_information.ui
similarity index 100%
rename from src/sakia/gui/user_information/user_information.ui
rename to src/sakia/gui/sub/user_information/user_information.ui
diff --git a/src/sakia/gui/user_information/view.py b/src/sakia/gui/sub/user_information/view.py
similarity index 98%
rename from src/sakia/gui/user_information/view.py
rename to src/sakia/gui/sub/user_information/view.py
index 90013359..1f5d663d 100644
--- a/src/sakia/gui/user_information/view.py
+++ b/src/sakia/gui/sub/user_information/view.py
@@ -1,7 +1,7 @@
 from PyQt5.QtCore import QLocale, QDateTime
 from PyQt5.QtWidgets import QWidget
 from .user_information_uic import Ui_UserInformationWidget
-from ..widgets.busy import Busy
+from sakia.gui.widgets.busy import Busy
 
 
 class UserInformationView(QWidget, Ui_UserInformationWidget):
diff --git a/src/sakia/gui/widgets/context_menu.py b/src/sakia/gui/widgets/context_menu.py
index fe34ff8d..7aa990c8 100644
--- a/src/sakia/gui/widgets/context_menu.py
+++ b/src/sakia/gui/widgets/context_menu.py
@@ -3,14 +3,14 @@ from PyQt5.QtCore import QObject, pyqtSignal
 from duniterpy.documents import Block, Membership
 import logging
 
-from ..user_information.controller import UserInformationController
-from ..contact import ConfigureContactDialog
-from ..transfer.controller import TransferController
-from ..certification.controller import CertificationController
-from ...tools.decorators import asyncify
-from ...core.transfer import Transfer, TransferState
-from ...core.registry import Identity
-from ...tools.exceptions import MembershipNotFoundError
+from sakia.gui.sub.user_information.controller import UserInformationController
+from sakia.gui.contact import ConfigureContactDialog
+from sakia.gui.dialogs.transfer.controller import TransferController
+from sakia.gui.dialogs.certification.controller import CertificationController
+from sakia.tools.decorators import asyncify
+from sakia.core.transfer import Transfer, TransferState
+from sakia.core.registry import Identity
+from sakia.tools.exceptions import MembershipNotFoundError
 
 
 class ContextMenu(QObject):
-- 
GitLab