コード例 #1
0
    def make_screenshot(self):
        screen_shot_maker_dialog = ui_misc_classes.Ui_screenShotMakerDialog()

        # Hiding all app windows before making screenshot
        if env_mode.get_mode() == 'standalone':
            env_inst.ui_main.setHidden(True)
        elif env_mode.get_mode() == 'maya':
            env_inst.ui_maya_dock.setHidden(True)
        for val in env_inst.commit_queue.values():
            val.setHidden(True)

        screen_shot_maker_dialog.exec_()

        if env_mode.get_mode() == 'standalone':
            env_inst.ui_main.setHidden(False)
        elif env_mode.get_mode() == 'maya':
            env_inst.ui_maya_dock.setHidden(False)
        for val in env_inst.commit_queue.values():
            val.setHidden(False)

        self.screenshots_to_upload_list.append(screen_shot_maker_dialog.screenshot_pixmap)

        self.drop_plate_label.setText(
            'Drop Images Here ({0})'.format(len(self.get_upload_list()) + len(self.screenshots_to_upload_list)))

        return screen_shot_maker_dialog.screenshot_pixmap
コード例 #2
0
 def close_routine():
     if env_mode.get_mode() == 'maya':
         from thlib.ui_classes.ui_maya_dock import close_all_instances
         close_all_instances()
         self.close()
     if env_mode.get_mode() == 'standalone':
         self.close()
コード例 #3
0
 def restart_for_update_ui_main(self):
     if env_mode.get_mode() == 'standalone':
         import main_standalone
         thread = main_standalone.restart()
         thread.finished.connect(self.close)
     if env_mode.get_mode() == 'maya':
         import main_maya
         thread = main_maya.main.restart()
         thread.finished.connect(main_maya.main.close_all_instances)
コード例 #4
0
        def close_routine():
            if env_mode.get_mode() == 'maya':
                self.close()

                from thlib.ui_classes.ui_maya_dock import close_all_instances
                close_all_instances()

                # Removing path from sys, so we can run other instance from different path
                import sys
                sys.path.remove(env_mode.get_current_path())

            if env_mode.get_mode() == 'standalone':
                self.close()
コード例 #5
0
    def customize_ui(self):
        if env_mode.get_mode() == 'standalone':
            self.actionDock_undock.setVisible(False)

        self.actionExit.setIcon(gf.get_icon('close'))
        self.actionConfiguration.setIcon(gf.get_icon('wrench'))
        self.create_info_label()
コード例 #6
0
    def get_stypes(self, result=None, run_thread=False):

        if result:
            if self.project.stypes:
                self.create_checkin_checkout_ui()
                self.toggle_loading_label()
                if env_mode.get_mode() == 'maya':
                    dl.log('Handling Maya Hotkeys', group_id='Maya')
                    env_inst.ui_maya_dock.handle_hotkeys()

                self.ui_checkin_checkout.setHidden(False)
            env_inst.ui_main.set_info_status_text('')

        if run_thread:

            env_inst.ui_main.set_info_status_text(
                '<span style=" font-size:8pt; color:#00ff00;">Getting Search Types</span>'
            )

            def get_stypes_agent():
                return self.project.get_stypes()

            env_inst.set_thread_pool(None, 'server_query/server_thread_pool')

            stypes_items_worker = gf.get_thread_worker(
                get_stypes_agent,
                env_inst.get_thread_pool('server_query/server_thread_pool'),
                result_func=self.get_stypes,
                error_func=gf.error_handle)
            stypes_items_worker.start()
コード例 #7
0
    def reload_cache(self):
        tc.get_all_projects_and_logins(True)
        for project in env_inst.projects.values():
            project.query_search_types(True)

        if env_mode.get_mode() == 'maya':
            self.restart_ui_main()
        else:
            self.close()
            gf.restart_app()
コード例 #8
0
    def restart_for_update_ui_main(self):

        if env_mode.get_mode() == 'maya':
            # import main_maya
            # thread = main_maya.main.restart()
            from thlib.ui_classes.ui_maya_dock import close_all_instances
            close_all_instances()
            # self.restart_ui_main()
        else:
            self.close()
            gf.restart_app()
コード例 #9
0
    def customize_ui(self):
        if env_mode.get_mode() == 'standalone':
            self.actionDock_undock.setVisible(False)

        self.actionExit.setIcon(gf.get_icon('window-close', icons_set='mdi'))
        self.actionConfiguration.setIcon(gf.get_icon('settings', icons_set='mdi'))
        self.actionSave_Preferences.setIcon(gf.get_icon('content-save', icons_set='mdi'))
        self.actionReloadCache.setIcon(gf.get_icon('reload', icons_set='mdi'))
        self.actionApply_to_all_Tabs.setIcon(gf.get_icon('hexagon-multiple', icons_set='mdi'))
        self.actionScriptEditor.setIcon(gf.get_icon('script', icons_set='mdi'))
        self.actionDebug_Log.setIcon(gf.get_icon('bug', icons_set='mdi'))
        self.actionUpdate.setIcon(gf.get_icon('update', icons_set='mdi'))
        self.create_info_label()
コード例 #10
0
    def execute(my, path):
        assert my.server_url
        #f = open(path, 'rb')
        import codecs
        f = codecs.open(path, 'rb')

        count = 0
        while 1:
            buffer = f.read(my.chunk_size)
            if not buffer:
                break

            if count == 0:
                action = "create"
            else:
                action = "append"

            fields = [
                ("ajax", "true"),
                ("action", action),
            ]
            if my.ticket:
                fields.append(("ticket", my.ticket))
                fields.append(("login_ticket", my.ticket))
                basename = os.path.basename(path)
                from json import dumps as jsondumps

                # Only for maya environment
                from thlib.environment import env_mode
                if env_mode.get_mode() != 'maya':

                    if sys.stdout.encoding:
                        basename = basename.decode(sys.stdout.encoding)
                basename = jsondumps(basename)
                basename = basename.strip('"')
                # the first index begins at 0
                fields.append(("file_name0", basename))

            if my.subdir:
                fields.append(("subdir", my.subdir))

            files = [("file", path, buffer)]
            (status, reason, content) = my.upload(my.server_url, fields, files)

            if reason != "OK":
                raise TacticUploadException("Upload of '%s' failed: %s %s" %
                                            (path, status, reason))

            count += 1

        f.close()
コード例 #11
0
    def make_screenshot(self):
        screen_shot_maker_dialog = Ui_screenShotMakerDialog()

        # Hiding all app windows before making screenshot
        if env_mode.get_mode() == 'standalone':
            env_inst.ui_main.setHidden(True)
        elif env_mode.get_mode() == 'maya':
            env_inst.ui_maya_dock.setHidden(True)
        self.parent_ui.add_sobj_widget.setHidden(True)

        screen_shot_maker_dialog.exec_()

        if env_mode.get_mode() == 'standalone':
            env_inst.ui_main.setHidden(False)
        elif env_mode.get_mode() == 'maya':
            env_inst.ui_maya_dock.setHidden(False)
        self.parent_ui.add_sobj_widget.setHidden(False)

        self.screenshots_to_upload_list.append(
            screen_shot_maker_dialog.screenshot_pixmap)
        self.drop_plate_label.setText('Drop Images Here ({0})'.format(
            len(self.get_upload_list()) +
            len(self.screenshots_to_upload_list)))
コード例 #12
0
    def get_stypes(self, result=None, run_thread=False):

        if result:
            self.stypes_items = result
            self.create_checkin_checkout_ui()
            # self.create_ui_my_tactic()
            # self.create_ui_float_notify()
            # self.create_ui_assets_browser()
            self.toggle_loading_label()
            if env_mode.get_mode() == 'maya':
                dl.log('Handling Maya Hotkeys', group_id='Maya')
                env_inst.ui_maya_dock.handle_hotkeys()

            self.ui_checkin_checkout.setHidden(False)
            env_inst.ui_main.set_info_status_text('')

        if run_thread:

            env_inst.ui_main.set_info_status_text(
                '<span style=" font-size:8pt; color:#00ff00;">Getting Search Types</span>')

            def get_stypes_agent():
                return self.project.get_stypes()

            stypes_cache = None
            if stypes_cache:
                self.stypes_items = stypes_cache
                if not self.stypes_items_thread.isRunning():
                    self.stypes_items_thread.kwargs = dict(result=self.stypes_items)
                    self.stypes_items_thread.routine = self.empty_return
                    self.stypes_items_thread.start(QtCore.QThread.NormalPriority)
            else:
                server_thread_pool = QtCore.QThreadPool()
                server_thread_pool.setMaxThreadCount(env_tactic.max_threads())
                env_inst.set_thread_pool(server_thread_pool, 'server_query/server_thread_pool')

                stypes_items_worker = gf.get_thread_worker(
                    get_stypes_agent,
                    env_inst.get_thread_pool('server_query/server_thread_pool'),
                    result_func=self.get_stypes,
                    error_func=gf.error_handle
                )
                stypes_items_worker.start()
コード例 #13
0
    def create_ui(self):

        self.clearPushButton.setIcon(gf.get_icon('trash'))
        self.configPushButton.setIcon(gf.get_icon('settings', icons_set='mdi'))
        self.create_progress_bar_widget()

        self.create_collapsable_toolbar()

        self.setAcceptDrops(True)

        if env_mode.get_mode() == 'standalone':
            sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                           QtGui.QSizePolicy.Preferred)
            self.setSizePolicy(sizePolicy)
            self.setMinimumWidth(300)

        self.move_controls_to_collapsable_toolbar()

        self.customize_ui()
コード例 #14
0
    def create_ui(self):

        self.clearPushButton.setIcon(gf.get_icon('trash'))
        self.configPushButton.setIcon(gf.get_icon('cog'))
        self.create_progress_bar_widget()

        self.create_collapsable_toolbar()

        self.setAcceptDrops(True)
        self.dropTreeWidget.setSelectionMode(
            QtGui.QAbstractItemView.ExtendedSelection)

        if env_mode.get_mode() == 'standalone':
            self.fromDropListCheckBox.setHidden(True)
            sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred,
                                           QtGui.QSizePolicy.Preferred)
            self.setSizePolicy(sizePolicy)
            self.setMinimumWidth(300)

        self.move_controls_to_collapsable_toolbar()
コード例 #15
0
from thlib.environment import env_mode, env_inst, env_tactic, env_server, dl, env_write_config, env_read_config, cfg_controls
import thlib.tactic_classes as tc
import thlib.update_functions as uf
import thlib.global_functions as gf
import thlib.ui.ui_main as ui_main
import thlib.ui.misc.ui_serverside as ui_serverside
import thlib.ui.misc.ui_update as ui_update
import thlib.ui.misc.ui_create_update as ui_create_update
import thlib.ui_classes.ui_misc_classes as ui_misc_classes
import ui_checkin_out_tabs_classes
import ui_conf_classes
import ui_my_tactic_classes
import ui_assets_browser_classes
import ui_float_notify_classes
if env_mode.get_mode() == 'maya':
    import thlib.maya_functions as mf
    reload(mf)


reload(ui_main)
reload(ui_serverside)
reload(ui_update)
reload(ui_create_update)
reload(ui_checkin_out_tabs_classes)
reload(ui_conf_classes)
reload(ui_my_tactic_classes)
reload(ui_assets_browser_classes)
reload(ui_float_notify_classes)
reload(tc)
reload(uf)
コード例 #16
0
    def fill_config_menu(self):

        self.menuConfig = QtGui.QMenu(self.config_button)
        self.menuConfig.setObjectName("menuConfig")
        self.menuConfig.setTitle(u"Menu")

        self.actionConfiguration = QtGui.QAction(self)
        self.actionConfiguration.setObjectName("actionConfiguration")
        self.actionUpdate = QtGui.QAction(self)
        self.actionUpdate.setObjectName("actionUpdate")
        self.actionExit = QtGui.QAction(self)
        self.actionExit.setObjectName("actionExit")
        self.actionApply_to_all_Tabs = QtGui.QAction(self)
        self.actionApply_to_all_Tabs.setObjectName("actionApply_to_all_Tabs")
        self.actionScriptEditor = QtGui.QAction(self)
        self.actionScriptEditor.setObjectName("actionScriptEditor")
        self.actionDock_undock = QtGui.QAction(self)
        self.actionDock_undock.setObjectName("actionDock_undock")
        self.actionDebug_Log = QtGui.QAction(self)
        self.actionDebug_Log.setObjectName("actionDebug_Log")
        self.actionSave_Preferences = QtGui.QAction(self)
        self.actionSave_Preferences.setObjectName("actionSave_Preferences")
        self.actionReloadCache = QtGui.QAction(self)
        self.actionReloadCache.setObjectName("actionReloadCache")

        self.menuConfig.addAction(self.actionConfiguration)
        self.menuConfig.addAction(self.actionSave_Preferences)
        self.menuConfig.addAction(self.actionReloadCache)
        self.menuConfig.addAction(self.actionApply_to_all_Tabs)
        self.menuConfig.addAction(self.actionDock_undock)
        self.menuConfig.addSeparator()
        self.menuConfig.addAction(self.actionScriptEditor)
        self.menuConfig.addAction(self.actionDebug_Log)
        self.menuConfig.addSeparator()
        self.menuConfig.addAction(self.actionUpdate)
        self.menuConfig.addSeparator()
        self.menuConfig.addSeparator()
        self.menuConfig.addAction(self.actionExit)

        self.actionConfiguration.setText(u"Configuration")
        self.actionUpdate.setText(u"Update")
        self.actionExit.setText(u"Exit")
        self.actionApply_to_all_Tabs.setText(u"Current view to All Tabs")
        self.actionScriptEditor.setText(u"Script Editor")
        self.actionDock_undock.setText(u"Dock/undock")
        self.actionDebug_Log.setText(u"Debug Log")
        self.actionSave_Preferences.setText(u"Save Preferences")
        self.actionReloadCache.setText(u"Reload Cache")

        self.actionExit.setIcon(gf.get_icon('window-close', icons_set='mdi'))
        self.actionConfiguration.setIcon(gf.get_icon('settings', icons_set='mdi'))
        self.actionSave_Preferences.setIcon(gf.get_icon('content-save', icons_set='mdi'))
        self.actionReloadCache.setIcon(gf.get_icon('reload', icons_set='mdi'))
        self.actionApply_to_all_Tabs.setIcon(gf.get_icon('hexagon-multiple', icons_set='mdi'))
        self.actionScriptEditor.setIcon(gf.get_icon('script', icons_set='mdi'))
        self.actionDebug_Log.setIcon(gf.get_icon('bug', icons_set='mdi'))
        self.actionUpdate.setIcon(gf.get_icon('update', icons_set='mdi'))

        if env_mode.get_mode() == 'standalone':
            self.actionDock_undock.setVisible(False)

        self.config_button.setMenu(self.menuConfig)
        self.config_button.setPopupMode(QtGui.QToolButton.InstantPopup)