diff --git a/main/ui/main_app_window.py b/main/ui/main_app_window.py index c289c8b8..b3375ba7 100644 --- a/main/ui/main_app_window.py +++ b/main/ui/main_app_window.py @@ -3,7 +3,7 @@ from threading import Thread from main.eparser import get_channels, get_bouquets, get_bouquet from main.eparser.__constants import SERVICE_TYPE from main.ftp import download_data, upload_data -from main.properties import get_config +from main.properties import get_config, write_config from . import Gtk, Gdk from .satellites_dialog import show_satellites_dialog from .settings_dialog import show_settings_dialog @@ -30,7 +30,8 @@ def on_about_app(item): def get_handlers(): return { - "on_close_main_window": Gtk.main_quit, + "on_close_main_window": on_quit, + "on_resize": on_resize, "on_about_app": on_about_app, "on_preferences": on_preferences, "on_download": on_download, @@ -56,6 +57,17 @@ def get_handlers(): } +def on_quit(*args): + """ Called before app quit """ + write_config(__options) # storing current config + Gtk.main_quit() + + +def on_resize(window): + """ Stores new size properties for main window after resize """ + __options["window_size"] = window.get_size() + + def on_up(item): pass @@ -263,6 +275,10 @@ def init_ui(): builder.add_from_file("ui/main_window.glade") global __main_window __main_window = builder.get_object("main_window") + main_window_size = __options.get("window_size", None) + # Setting the last size of the window if it was saved + if main_window_size: + __main_window.resize(*main_window_size) global __services_view __services_view = builder.get_object("services_tree_view") global __fav_view diff --git a/main/ui/main_window.glade b/main/ui/main_window.glade index d39124bf..dc011374 100644 --- a/main/ui/main_window.glade +++ b/main/ui/main_window.glade @@ -140,6 +140,7 @@ False DemonEditor accessories-text-editor +