-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcc_main_window.py
66 lines (47 loc) · 1.74 KB
/
cc_main_window.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import cc_chatdialog
import cc_http
from cc_configurator import get_cc_config
from cc_configure_services import cc_configure_services
import urllib
import os
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Pango, Gdk, GObject
class cc_main_window(object):
builder = None
window = None
configure_services_dialog = None
def __init__(self, builder):
self.builder = builder
builder.add_from_file("glade/main_window.glade")
self.window = builder.get_object("main_window")
# Setup Signals
self.builder.connect_signals(self)
self.window.connect("delete-event", Gtk.main_quit)
self.window.show_all()
self.UpdateGUI()
# Load other dialogs
self.configure_services_dialog = cc_configure_services(builder)
self.configure_services_dialog.window.set_transient_for(self.window)
# Startup Operations
if get_cc_config()['auto-connect']:
self.onConnectServices(None)
def delete_window(self):
Gtk.main_quit
def toggle_connect_disconnect_action_items(self, connected):
action_connect = self.builder.get_object("action_connect")
action_connect.set_sensitive(not connected)
action_connect = self.builder.get_object("action_disconnect")
action_connect.set_sensitive(connected)
# Signal Handlers
def onConnectServices(self, action):
self.toggle_connect_disconnect_action_items(True)
def onDisconnectServices(self, action):
self.toggle_connect_disconnect_action_items(False)
def onToggleShowDebugArea(self, menu_item):
self.UpdateGUI()
def onConfigureServices(self, action):
self.configure_services_dialog.open_window()
def UpdateGUI(self):
show_debug_bar = self.builder.get_object('menu_toggle_show_debug_area').get_active()
self.builder.get_object('debug_box').set_visible(show_debug_bar)