Files
cardvault/cardvault/cv_gtk3/main_window.py
2018-02-19 22:56:32 +01:00

48 lines
1.7 KiB
Python

from cv_gtk3.setting import GUISettings
class MainWindowFunctions:
"""
Class for holding general functions of the main window container
such as controlling the status and menu bar .
"""
def __init__(self, ui):
self.ui = ui
def hide_initial_widgets(self):
self.ui.get_object('statusbar_spinner').set_visible(False)
self.ui.get_object('statusbar_label').set_visible(False)
def show_status(self, message):
"""
Display a massage in the status bar alon with an animated spinner
:param message: The text to display
"""
spinner = self.ui.get_object('statusbar_spinner')
label = self.ui.get_object('statusbar_label')
spinner.set_visible(True)
label.set_visible(True)
label.set_text(message)
def clear_status(self):
"""
Hides the message an spinner in the status bar
"""
self.ui.get_object('statusbar_spinner').set_visible(False)
self.ui.get_object('statusbar_label').set_visible(False)
def switch_page(self, page):
"""
Switch active page
:param page: name of the new page
"""
container = self.ui.get_object("contentPage")
new_page = GUISettings.pages[page]
if GUISettings.current_page:
container.remove(GUISettings.current_page)
GUISettings.current_page = new_page
container.pack_start(GUISettings.current_page, True, True, 0)
container.show_all()
GUISettings.current_page.emit('show')
app_title = GUISettings.current_page.get_name() + " - " +GUISettings.application_title
self.ui.get_object("mainWindow").set_title(app_title)