Example #1
0
class MuQT(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.Config = {}
        self.pid = os.getpid()
        ## @var config_manager
        # ConfigManager (Class)
        self.config_manager = ConfigManager(self)
        self.config_manager.check_path()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.timer = None
        self.status = None

        self.statusbar = None
        self.user_stats = {}
        self.user_exists = {}
        self.ip_requested = []
        self.username = None
        self.images = {}

        for i in "away", "online", "offline", "noexist", "logo", "close", "green", "yellow", "red", "icon", "away_trusted", "away_banned", "away_buddied", "away_ignored", "online_trusted", "online_banned", "online_ignored", "online_buddied", "offline_trusted", "offline_banned", "offline_ignored", "offline_buddied", "hilite", "empty":
            #loader = gtk.gdk.PixbufLoader("png")

            data = getattr(imagedata, i)
            loader = QPixmap()
            if loader.loadFromData(data):
                self.images[i] = QIcon(loader)
            else:
                print i, "failed to load"
            #loader.write(data, len(data))
            #loader.close()
            #self.images[i] = loader.get_pixbuf()
            del loader, data
        #gc.collect()
        #self.MurmurWindow.set_icon(self.images["icon"])

        #self.ui.ChatRooms = QtGui.QTabWidget(self.ui.ChatRoomsLabel)
        #self.ui.ChatRooms.setObjectName("ChatRooms")

        self.ChatRooms = ChatRooms(self)
        self.ui.ChatRoomsLayout.addWidget(self.ChatRooms)
        self.PrivateChats = PrivateChats(self)
        self.ui.PrivateChatsLayout.addWidget(self.PrivateChats)
        self.Networking = Networking(self)
        self.Downloads = Downloads(self)
        self.Uploads = Uploads(self)
        self.Settings = Settings(self)

        # Networking signals
        self.connect(self.Networking,
                     SIGNAL("JoinRoom(PyQt_PyObject, PyQt_PyObject)"),
                     self.ChatRooms.JoinRoom)
        self.connect(self.Networking, SIGNAL("LeaveRoom(PyQt_PyObject)"),
                     self.ChatRooms.LeaveRoom)
        self.connect(self.Networking,
                     SIGNAL("UserStatus(PyQt_PyObject, PyQt_PyObject)"),
                     self.ChatRooms.GetUserStatus)
        self.connect(
            self.Networking,
            SIGNAL("SayChatRoom(PyQt_PyObject,PyQt_PyObject, PyQt_PyObject)"),
            self.ChatRooms.SayChatRoom)
        #self.connect(self.Networking, SIGNAL("SayChatRoom(PyQt_PyObject, PyQt_PyObject, PyQt_PyObject)"), self.PrivateChat.SayPrivate)
        self.connect(self.Networking, SIGNAL("Log(PyQt_PyObject)"),
                     self.AppendToLogWindow)
        self.connect(
            self.Networking,
            SIGNAL("ShowMessage(PyQt_PyObject,PyQt_PyObject, PyQt_PyObject)"),
            self.PrivateChats.ShowMessage)
        self.connect(self.Networking,
                     SIGNAL("UserJoinedRoom(PyQt_PyObject, PyQt_PyObject)"),
                     self.ChatRooms.UserJoinedRoom)
        self.connect(self.Networking,
                     SIGNAL("UserLeftRoom(PyQt_PyObject, PyQt_PyObject)"),
                     self.ChatRooms.UserLeftRoom)
        self.connect(self.Networking, SIGNAL("ConnClose()"),
                     self.ChatRooms.ConnClose)
        # Main Menu actions
        self.connect(self.ui.actionToggle_Away, SIGNAL("activated()"),
                     self.away_toggle)
        self.connect(self.ui.actionAbout_Qt, SIGNAL("activated()"),
                     self.OnAbout)
        self.connect(self.ui.actionConnect_to_daemon, SIGNAL("activated()"),
                     self.OnConnect)
        self.connect(self.ui.actionDisconnect_from_daemon,
                     SIGNAL("activated()"), self.OnDisconnect)
        self.connect(self.ui.actionConfigure, SIGNAL("activated()"),
                     self.OnConfigure)

        self.Networking.start()

    def OnConfigure(self):
        self.Settings.show()

    def OnDisconnect(self):
        self.Networking.disconnect("")

    def OnConnect(self):
        self.Networking.connect_to_museekd("")

    def OnAbout(self):
        QMessageBox.aboutQt(self)

    def AppendToLogWindow(self, message):
        message = "%s %s" % (recode(time.strftime("%H:%M:%S")), message)
        self.ui.logWindow.append(message)

    def away_toggle(self):
        try:
            if self.username != None:
                if self.status == 0:
                    self.Networking.SetStatus(1)
                elif self.status == 1:
                    self.Networking.SetStatus(0)
            else:
                self.AppendToLogWindow(_("You are disconnected from Museek"))

        except Exception, e:
            if DEBUG: Output("away_toggle ERROR", e)
Example #2
0
class MuQT(QtGui.QMainWindow):
	def __init__(self, parent=None):
		QtGui.QWidget.__init__(self, parent)
		self.Config = {}
		self.pid = os.getpid()
		## @var config_manager
		# ConfigManager (Class)
		self.config_manager = ConfigManager(self)
		self.config_manager.check_path()
		self.ui = Ui_MainWindow()
		self.ui.setupUi(self)
		self.timer = None
		self.status = None
		

		self.statusbar = None
		self.user_stats = {}
		self.user_exists = {}
		self.ip_requested = []
		self.username = None
		self.images = {}
		
		for i in "away",  "online",  "offline", "noexist", "logo", "close", "green", "yellow", "red", "icon", "away_trusted", "away_banned", "away_buddied", "away_ignored", "online_trusted", "online_banned", "online_ignored", "online_buddied", "offline_trusted", "offline_banned", "offline_ignored", "offline_buddied", "hilite", "empty":
			#loader = gtk.gdk.PixbufLoader("png")
			
			data = getattr(imagedata, i)
			loader = QPixmap()
			if loader.loadFromData(data):
				self.images[i] = QIcon(loader)
			else:
				print i, "failed to load"
			#loader.write(data, len(data))
			#loader.close()
			#self.images[i] = loader.get_pixbuf()
			del loader, data
		#gc.collect()
		#self.MurmurWindow.set_icon(self.images["icon"])
		
		#self.ui.ChatRooms = QtGui.QTabWidget(self.ui.ChatRoomsLabel)
		#self.ui.ChatRooms.setObjectName("ChatRooms")
		
		
		self.ChatRooms = ChatRooms(self)
		self.ui.ChatRoomsLayout.addWidget(self.ChatRooms)
		self.PrivateChats = PrivateChats(self)
		self.ui.PrivateChatsLayout.addWidget(self.PrivateChats)
		self.Networking = Networking(self)
		self.Downloads = Downloads(self)
		self.Uploads = Uploads(self)
		self.Settings = Settings(self)
		
		# Networking signals
		self.connect(self.Networking, SIGNAL("JoinRoom(PyQt_PyObject, PyQt_PyObject)"), self.ChatRooms.JoinRoom)
		self.connect(self.Networking, SIGNAL("LeaveRoom(PyQt_PyObject)"), self.ChatRooms.LeaveRoom)
		self.connect(self.Networking, SIGNAL("UserStatus(PyQt_PyObject, PyQt_PyObject)"), self.ChatRooms.GetUserStatus)
		self.connect(self.Networking, SIGNAL("SayChatRoom(PyQt_PyObject,PyQt_PyObject, PyQt_PyObject)"), self.ChatRooms.SayChatRoom)
		#self.connect(self.Networking, SIGNAL("SayChatRoom(PyQt_PyObject, PyQt_PyObject, PyQt_PyObject)"), self.PrivateChat.SayPrivate)
		self.connect(self.Networking, SIGNAL("Log(PyQt_PyObject)"), self.AppendToLogWindow)
		self.connect(self.Networking, SIGNAL("ShowMessage(PyQt_PyObject,PyQt_PyObject, PyQt_PyObject)"), self.PrivateChats.ShowMessage)
		self.connect(self.Networking, SIGNAL("UserJoinedRoom(PyQt_PyObject, PyQt_PyObject)"), self.ChatRooms.UserJoinedRoom)
		self.connect(self.Networking, SIGNAL("UserLeftRoom(PyQt_PyObject, PyQt_PyObject)"), self.ChatRooms.UserLeftRoom)
		self.connect(self.Networking, SIGNAL("ConnClose()"), self.ChatRooms.ConnClose)
		# Main Menu actions
		self.connect(self.ui.actionToggle_Away, SIGNAL("activated()"), self.away_toggle)
		self.connect(self.ui.actionAbout_Qt, SIGNAL("activated()"), self.OnAbout)
		self.connect(self.ui.actionConnect_to_daemon, SIGNAL("activated()"), self.OnConnect)
		self.connect(self.ui.actionDisconnect_from_daemon, SIGNAL("activated()"), self.OnDisconnect)
		self.connect(self.ui.actionConfigure, SIGNAL("activated()"), self.OnConfigure)
		
		self.Networking.start()
	
	def OnConfigure(self):
		self.Settings.show()
		
	def OnDisconnect(self):
		self.Networking.disconnect("")
	def OnConnect(self):
		self.Networking.connect_to_museekd("") 
		
	def OnAbout(self):
		QMessageBox.aboutQt(self)
		
	def AppendToLogWindow(self, message):
		message = "%s %s" % (recode(time.strftime("%H:%M:%S")), message)
		self.ui.logWindow.append(message)
		
	def away_toggle(self):
		try:
			if self.username != None:
				if self.status == 0:
					self.Networking.SetStatus(1)
				elif self.status == 1:
					self.Networking.SetStatus(0)
			else:
				self.AppendToLogWindow(_("You are disconnected from Museek"))

		except Exception,e:
			if DEBUG: Output("away_toggle ERROR", e)