Beispiel #1
0
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.settings = Config.settings
        self.toolBars = []
        self.sandboxieINIIsModified = False
        self.view = 'accounts'

        self.setWindowTitle('TF2Idle')
        windowXSize, windowYSize = eval(
            self.settings.get_option('Settings', 'ui_window_size'))
        if (windowXSize, windowYSize) == (0, 0):
            self.setWindowState(QtCore.Qt.WindowMaximized)
        else:
            self.resize(windowXSize, windowYSize)
        self.setWindowIcon(
            QtGui.QIcon(returnResourcePath('images/tf2idle.png')))

        self.createSystemTray()

        self.drawToolBars()

        # Add menu bar
        self.menuBar = QtGui.QMenuBar(self)
        self.menuBar.setObjectName('menubar')
        self.setMenuBar(self.menuBar)

        # Add File menu
        fileMenu = self.addMenu('File')
        self.addSubMenu(
            fileMenu,
            text='Settings',
            shortcut='Ctrl+S',
            action={
                'trigger': 'triggered()',
                'action': self.openSettings
            },
            iconimage=returnResourcePath('images/settings_logo.png'))
        fileMenu.addSeparator()
        self.addSubMenu(fileMenu,
                        text='Exit',
                        shortcut='Ctrl+Q',
                        action={
                            'trigger': 'triggered()',
                            'action': self.close
                        },
                        iconimage=returnResourcePath('images/exit_logo.png'))

        # Add About menu
        helpMenu = self.addMenu('Help')
        self.addSubMenu(helpMenu,
                        text='Readme / Source',
                        action={
                            'trigger': 'triggered()',
                            'action': self.openGithub
                        },
                        iconimage=returnResourcePath('images/readme_logo.png'))
        self.addSubMenu(
            helpMenu,
            text='Facepunch thread',
            action={
                'trigger': 'triggered()',
                'action': self.openFacepunch
            },
            iconimage=returnResourcePath('images/facepunch_logo.png'))
        self.addSubMenu(
            helpMenu,
            text='Steam group',
            action={
                'trigger': 'triggered()',
                'action': self.openSteamGroup
            },
            iconimage=returnResourcePath('images/steam_group_logo.png'))
        self.addSubMenu(helpMenu,
                        text='Check for update',
                        action={
                            'trigger': 'triggered()',
                            'action': self.checkForUpdate
                        },
                        iconimage=returnResourcePath('images/update_logo.png'))
        self.addSubMenu(helpMenu,
                        text='Bugs/Features/Feedback',
                        action={
                            'trigger': 'triggered()',
                            'action': self.openFeedback
                        },
                        iconimage=returnResourcePath('images/uservoice.png'))
        self.addSubMenu(helpMenu,
                        text='About',
                        action={
                            'trigger': 'triggered()',
                            'action': self.showAbout
                        },
                        iconimage=returnResourcePath('images/tf2idle.png'))

        # Add Steam menu
        steamMenu = self.addMenu('Powered by Steam')
        self.addSubMenu(steamMenu,
                        text='Steam website',
                        action={
                            'trigger': 'triggered()',
                            'action': self.openSteamSite
                        },
                        iconimage=returnResourcePath('images/steam_logo.png'))

        # Set starting view as accounts page
        self.accountsView = AccountsView(self)
        self.dropLogView = DropLogView(self, self.tray)

        self.stackedWidget = QtGui.QStackedWidget(self)
        self.stackedWidget.addWidget(self.accountsView)
        self.stackedWidget.addWidget(self.dropLogView)
        self.setCentralWidget(self.stackedWidget)

        # Connect signals used for passing account information between views
        QtCore.QObject.connect(
            self.accountsView,
            QtCore.SIGNAL('returnedSelectedAccounts(PyQt_PyObject)'),
            self.dropLogView.setSelectedAccounts)
        QtCore.QObject.connect(self.dropLogView,
                               QtCore.SIGNAL('retrieveSelectedAccounts'),
                               self.accountsView.returnSelectedAccounts)
        QtCore.QObject.connect(self.accountsView,
                               QtCore.SIGNAL('startDropLog(PyQt_PyObject)'),
                               self.dropLogView.addAccount)
        QtCore.QObject.connect(self.accountsView,
                               QtCore.SIGNAL('stopDropLog(PyQt_PyObject)'),
                               self.dropLogView.removeAccount)

        self.changeView()

        self.dropLogView.toggleItemValues()