3 from runserver import Server
10 def start_server(self, widget):
12 if self.connected == False:
13 imagepath = self.images.replace('pcremote-server.py','images/PCR_on.bmp')
14 self.staticon.set_from_file(imagepath)
15 self.staticon.set_tooltip("PC Remote Server - Online")
18 img.set_from_stock(gtk.STOCK_DISCONNECT, gtk.ICON_SIZE_MENU)
19 self.menuItemCon.set_image(img)
21 self.srv = Server("PC Remote")
22 thread.start_new_thread(Server.start,(self.srv,"server"))
25 imagepath = self.images.replace('pcremote-server.py','images/PCR_off.bmp')
26 self.staticon.set_from_file(imagepath)
27 self.staticon.set_tooltip("PC Remote Server - Offline")
30 img.set_from_stock(gtk.STOCK_EXECUTE, gtk.ICON_SIZE_MENU)
32 self.menuItemCon.set_image(img)
36 self.connected = not self.connected
38 def destroyer(self, widget,response_id, data= None):
39 if response_id == gtk.RESPONSE_OK:
44 def popup(self, widget):
45 dialog = gtk.MessageDialog(
47 flags = gtk.DIALOG_DESTROY_WITH_PARENT,
48 type = gtk.MESSAGE_INFO,
49 buttons = gtk.BUTTONS_OK_CANCEL,
50 message_format = "Do you want to shut down the server?")
51 dialog.set_title('PC Remote Server')
52 dialog.connect('response', self.destroyer)
55 def popup_menu_cb(self, widget, button, time, data = None):
59 data.popup(None, None, None, 3, time)
64 self.images = sys.argv[0]
65 self.connected = False
67 self.staticon = gtk.StatusIcon()
68 imagepath = self.images.replace('pcremote-server.py','images/PCR_off.bmp')
69 self.staticon.set_from_file(imagepath)
70 self.staticon.set_tooltip("PC Remote Server(offline)")
72 self.menu = gtk.Menu()
74 self.menuItemCon = gtk.ImageMenuItem(gtk.STOCK_EXECUTE)
75 self.menuItemCon.connect('activate', self.start_server)
77 self.menuItemExit = gtk.ImageMenuItem(gtk.STOCK_QUIT)
78 self.menuItemExit.connect('activate', self.popup)
80 self.menu.append(self.menuItemCon)
81 self.menu.append(self.menuItemExit)
83 self.staticon.connect('popup-menu', self.popup_menu_cb, self.menu)
85 self.staticon.set_visible(True)
87 gtk.gdk.threads_init()
88 gtk.gdk.threads_enter()
92 gtk.gdk.threads_leave()